Python 官方文档:入门教程 => 点击学习
本篇内容主要讲解“python实现列表拼接和去重的方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python实现列表拼接和去重的方法有哪些”吧!目录列表拼接三种方式方式一:简简单单的“
本篇内容主要讲解“python实现列表拼接和去重的方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python实现列表拼接和去重的方法有哪些”吧!
列表拼接三种方式
方式一:简简单单的“+”
方法二:切片赋值
方式三:列表自带的extend()
列表去重的三种方式
列表拼接主要有以下三种方式:
最简单的使用“+”;
使用切片赋值的方法;
使用列表自带的extend方法
>>> list1 = [1,2,3]>>> list2 = [4,5,6]>>> id(list1)4408465160>>> id(list2)4408325512>>> list1 = list1 + list2>>> list1[1, 2, 3, 4, 5, 6]>>> id(list1)4408504776
此方法易于理解,但你会发现其实list1已经不是原来那个list1了,list1的id值已经发生改变。
在这里,我们发现使用切片赋值的拼接就地执行,即它会修改原来的列表,但易读性不高
>>> list1 = [1,2,3]>>> list2 = [4,5,6]>>> id(list1)4408465160>>> id(list2)4408504776>>> list1[len(list1):len(list1)] = list2>>> list1[1, 2, 3, 4, 5, 6]>>> id(list1)4408465160
>>> list1 = [1,2,3]>>> list2 = [4,5,6]>>> id(list1)4408325512>>> list1.extend(list2)>>> list1[1, 2, 3, 4, 5, 6]>>> id(list1)4408325512
这里,你会发现列表自带的extend()也是就地执行,即它会修改原来的列表,直接在原来的列表后面拼接新列表。
综合上面三种方式,第一种的使用“+”拼接需要易于理解,但却不是就地执行,而是新开辟一块空间来存放新列表;第二种比较难于理解;还是Python列表自带的extend()拼接列表函数较为友好。
例如有以下一个列表:需要你进行去重,你能想到哪些方法呢?
num_list = [1,8,9,1,2,3,4,6,5,7,10,5,6,8,3,4]
第一种方法(大家第一个都会想到的吧):利用集合set的特性
集合set特性:元素不能重复
>>> num_list = [1,8,9,1,2,3,4,6,5,7,10,5,6,8,3,4]>>> new_list = list(set(num_list))>>> new_list[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
第二张方法(与集合拥有相同特性的):那么就是字典的键啦
先介绍一下函数dict.fromkeys(序列,设置键对应的值),返回一个由序列的元素作为键,设置的值作为所有键的值的字典,值省略的话所有键的值将默认为None;如果设置了值的话所有的键将会赋予同一个值,看例子:
>>> dict1 = dict.fromkeys([1,2,3,4])>>> dict1{1: None, 2: None, 3: None, 4: None}>>> dict1 = dict.fromkeys([1,2,3,4],5)>>> dict1{1: 5, 2: 5, 3: 5, 4: 5}
那么正式使用字典键的特性进行去重,看例子:
>>> num_list = [1,8,9,1,2,3,4,6,5,7,10,5,6,8,3,4]>>> num_dict = dict.fromkeys(num_list)>>> num_dict{1: None, 8: None, 9: None, 2: None, 3: None, 4: None, 6: None, 5: None, 7: None, 10: None}>>> new_list = list(num_dict.keys())>>> new_list[1, 8, 9, 2, 3, 4, 6, 5, 7, 10]
第三种方式:利用index()获取到的是第一次出现的索引
通过判断列表中值第一次出现的索引值与遍历的计数器的游标cursor值是否相等,相等的话则是第一次出现,否则是重复出现。看例子:
>>> num_list = [1,8,9,1,2,3,4,6,5,7,10,5,6,8,3,4]>>> new_list = []>>> cursor=0>>> while cursor < len(num_list):... if num_list.index(num_list[cursor]) == cursor:... new_list.append(num_list[cursor])... cursor += 1...>>> new_list[1, 8, 9, 2, 3, 4, 6, 5, 7, 10]
到此,相信大家对“Python实现列表拼接和去重的方法有哪些”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
--结束END--
本文标题: Python实现列表拼接和去重的方法有哪些
本文链接: https://www.lsjlt.com/news/296948.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0