python 汉字列表去重 python字符串列表去重_字符串

本文主要为大家整理了Python中实现字符串和列表去重的常用方法,文中的示例代码讲解详细,对我们深入了解Python有一定的帮助,感兴趣的可以了解一下


字符串去重


1、直接遍历字符串的方式

# *_* coding : UTF-8 *_*
name='王李张李陈王杨张吴周王刘赵黄吴杨'
newname=''
for char in name:
if char not in newname:
newname+=char
print (newname)

输出:

王李张陈杨吴周刘赵黄


2、遍历去重的另一种方式

# *_* 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)

# *_* 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、根据字符串下标,判断子集

# *_* 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) ,将列表拼接成我们想要的字符串

# *_* coding : UTF-8 *_*
name='王李张李陈王杨张吴周王刘赵黄吴杨'
zd={}.fromkeys(name)
mylist=list(zd.keys())
# mylist = list({}.fromkeys(name).keys())
print (''.join(mylist))

输出:

王李张陈杨吴周刘赵黄


列表去重


1、利用for循环的方式

# *_* 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() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据。

# *_* coding : UTF-8 *_*
city=['上海', '广州', '上海', '成都', '上海', '上海', '北京', '上海', '广州', '北京', '上海']
ncitx=list(set(city))
print(ncitx)

输出:

['广州', '成都', '上海', '北京']


3、利用sort()排序

# *_* coding : UTF-8 *_*
city=['上海', '广州', '上海', '成都', '上海', '上海', '北京', '上海', '广州', '北京', '上海']
ncitx=list(set(city))
ncitx.sort( key=city.index)
print(ncitx)

输出:

['上海', '广州', '成都', '北京']


4、利用sort()排序后,迭代

# *_* coding : UTF-8 *_*
city=['上海', '广州', '上海', '成都', '上海', '上海', '北京', '上海', '广州', '北京', '上海']
city.sort()
for x in city:
while city.count(x)>1:
del city[city.index(x)]
print(city)

输出:

['上海', '北京', '广州', '成都']


5、巧用字典

# *_* coding : UTF-8 *_*
city=['上海', '广州', '上海', '成都', '上海', '上海', '北京', '上海', '广州', '北京', '上海']
mylist = list({}.fromkeys(city).keys())  # fromkeys() 函数创建一个新字典,获取新字典的键(唯一值)
print (mylist)

输出:

['上海', '广州', '成都', '北京']

到此这篇关于Python中字符串和列表去重方法总结的文章就介绍到这了,希望可以帮到你。