![](https://img-blog.csdnimg.cn/img_convert/a613926ee09f9726776cde4b425f08da.jpeg)
本文主要为大家整理了Python中实现字符串和列表去重的常用方法,文中的示例代码讲解详细,对我们深入了解Python有一定的帮助,感兴趣的可以了解一下
字符串去重
1、直接遍历字符串的方式
1 2 3 4 5 6 7 8 | # *_* coding : UTF-8 *_* name = '王李张李陈王杨张吴周王刘赵黄吴杨' newname = '' for char in name: if char not in newname: newname + = char print (newname) |
输出:
王李张陈杨吴周刘赵黄
2、遍历去重的另一种方式
1 2 3 4 5 6 7 8 9 10 11 12 13 | # *_* coding : UTF-8 *_* name = '王李张李陈王杨张吴周王刘赵黄吴杨' newname = '' i = len (name) - 1 while True : if i > = 0 : if name[i] not in newname: newname + = (name[i]) i - = 1 else : break print (newname) |
输出:
杨吴黄赵刘王周张陈李
3、将字符串转换成列表的方式(list sort)
1 2 3 4 5 6 7 8 9 10 | # *_* coding : UTF-8 *_* name = '王李张李陈王杨张吴周王刘赵黄吴杨' myname = set (name) print (myname) newname = list ( set (name)) print (''.join(newname)) newname.sort(key = name.index) print (newname) print (''.join(newname)) |
输出:
{'张', '黄', '刘', '杨', '吴', '周', '陈', '赵', '王', '李'}
张黄刘杨吴周陈赵王李
['王', '李', '张', '陈', '杨', '吴', '周', '刘', '赵', '黄']
王李张陈杨吴周刘赵黄
4、根据字符串下标,判断子集
1 2 3 4 5 6 7 8 9 10 | # *_* coding : UTF-8 *_* name = '王李张李陈王杨张吴周王刘赵黄吴杨' l = len (name) # 字符串下标总长度 for s in name: if name[ 0 ] in name[ 1 :l]: name = name[ 1 :l] else : name = name[ 1 :l] + name[ 0 ] print (name) |
输出:
李陈张周王刘赵黄吴杨
5、使用 ', '.join(L) ,将列表拼接成我们想要的字符串
1 2 3 4 5 6 7 | # *_* coding : UTF-8 *_* name = '王李张李陈王杨张吴周王刘赵黄吴杨' zd = {}.fromkeys(name) mylist = list (zd.keys()) # mylist = list({}.fromkeys(name).keys()) print (''.join(mylist)) |
输出:
王李张陈杨吴周刘赵黄
列表去重
1、利用for循环的方式
1 2 3 4 5 6 7 8 | # *_* coding : UTF-8 *_* city = [ '上海' , '广州' , '上海' , '成都' , '上海' , '上海' , '北京' , '上海' , '广州' , '北京' , '上海' ] ncity = [] # 定义一个空列表 for item in city: # 遍历列表city if item not in ncity: # 如果item不在ncity,则添加到ncity ncity.append(item) print (ncity) |
输出:
['上海', '广州', '成都', '北京']
2、利用set()函数
set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据。
1 2 3 4 5 | # *_* coding : UTF-8 *_* city = [ '上海' , '广州' , '上海' , '成都' , '上海' , '上海' , '北京' , '上海' , '广州' , '北京' , '上海' ] ncitx = list ( set (city)) print (ncitx) |
输出:
['广州', '成都', '上海', '北京']
3、利用sort()排序
1 2 3 4 5 6 7 | # *_* coding : UTF-8 *_* city = [ '上海' , '广州' , '上海' , '成都' , '上海' , '上海' , '北京' , '上海' , '广州' , '北京' , '上海' ] ncitx = list ( set (city)) ncitx.sort( key = city.index) print (ncitx) |
输出:
['上海', '广州', '成都', '北京']
4、利用sort()排序后,迭代
1 2 3 4 5 6 7 8 9 | # *_* coding : UTF-8 *_* city = [ '上海' , '广州' , '上海' , '成都' , '上海' , '上海' , '北京' , '上海' , '广州' , '北京' , '上海' ] city.sort() for x in city: while city.count(x)> 1 : del city[city.index(x)] print (city) |
输出:
['上海', '北京', '广州', '成都']
5、巧用字典
1 2 3 4 5 | # *_* coding : UTF-8 *_* city = [ '上海' , '广州' , '上海' , '成都' , '上海' , '上海' , '北京' , '上海' , '广州' , '北京' , '上海' ] mylist = list ({}.fromkeys(city).keys()) # fromkeys() 函数创建一个新字典,获取新字典的键(唯一值) print (mylist) |
输出:
['上海', '广州', '成都', '北京']
到此这篇关于Python中字符串和列表去重方法总结的文章就介绍到这了,希望可以帮到你。
转自:微点阅读 https://www.weidianyuedu.com