本文主要介绍了Python实现列表拼接和去重,详细的介绍了列表拼接和列表去重三种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
目录
列表拼接三种方式
方式一:简简单单的“+”
方法二:切片赋值
方式三:列表自带的extend()
列表去重的三种方式
利用集合set的特性
利用字典key的不可重复属性
利用index()获取到的是第一次出现的索引
列表拼接三种方式
列表拼接主要有以下三种方式:
最简单的使用“+”;
使用切片赋值的方法;
使用列表自带的extend方法
方式一:简简单单的“+”
1 2 3 4 5 6 7 8 9 10 11 |
|
此方法易于理解,但你会发现其实list1已经不是原来那个list1了,list1的id值已经发生改变。
方法二:切片赋值
在这里,我们发现使用切片赋值的拼接就地执行,即它会修改原来的列表,但易读性不高
1 2 3 4 5 6 7 8 9 10 11 |
|
方式三:列表自带的extend()
1 2 3 4 5 6 7 8 9 |
|
这里,你会发现列表自带的extend()也是就地执行,即它会修改原来的列表,直接在原来的列表后面拼接新列表。
综合上面三种方式,第一种的使用“+”拼接需要易于理解,但却不是就地执行,而是新开辟一块空间来存放新列表;第二种比较难于理解;还是Python列表自带的extend()拼接列表函数较为友好。
列表去重的三种方式
例如有以下一个列表:需要你进行去重,你能想到哪些方法呢?
1 |
|
利用集合set的特性
第一种方法(大家第一个都会想到的吧):利用集合set的特性
集合set特性:元素不能重复
1 2 3 4 |
|
利用字典key的不可重复属性
第二张方法(与集合拥有相同特性的):那么就是字典的键啦
先介绍一下函数dict.fromkeys(序列,设置键对应的值),返回一个由序列的元素作为键,设置的值作为所有键的值的字典,值省略的话所有键的值将默认为None;如果设置了值的话所有的键将会赋予同一个值,看例子:
1 2 3 4 5 6 |
|
那么正式使用字典键的特性进行去重,看例子:
1 2 3 4 5 6 7 |
|
利用index()获取到的是第一次出现的索引
第三种方式:利用index()获取到的是第一次出现的索引
通过判断列表中值第一次出现的索引值与遍历的计数器的游标cursor值是否相等,相等的话则是第一次出现,否则是重复出现。看例子:
1 2 3 4 5 6 7 8 9 10 |
<1360>[ |
发表评论 取消回复