# 方法1、for循环字符串去重
name='周吴王赵黄吴杨王李张陈杨侯'
newname=''
for i in name:
if i not in newname:
newname=i+newname
print(newname)
name='周吴王赵黄吴杨王李张陈杨侯'
newname=''
i = len(name)-1
while True:
if i>=0:
if name[i] not in newname:
newname+=(name[i])
print(newname)
i-=1
else:
break
print('*'*20)
print(newname)
打印结果:
侯
侯杨
侯杨陈
侯杨陈张
侯杨陈张李
侯杨陈张李王
********************
侯杨陈张李王
# 方法3使用列表的方法
name='周吴王赵黄吴杨王李张陈杨侯'
print('打印原name:',name)
newname=set(name)
print('打印newname:',newname)
newname1=list(newname)
print('将集合转换为列表:',newname1)
print(' '.join(newname1))
print('*'*20)
newname1.sort(key=name.index) #sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
print(' '.join(newname1))
打印结果:
打印原name: 周吴王赵黄吴杨王李张陈杨侯
打印newname: {'赵', '王', '周', '黄', '杨', '李', '吴', '张', '陈', '侯'}
将集合转换为列表: ['赵', '王', '周', '黄', '杨', '李', '吴', '张', '陈', '侯']
赵 王 周 黄 杨 李 吴 张 陈 侯
*****************
周 吴 王 赵 黄 杨 李 张 陈 侯
# 方法4:在原字符串中直接删除
name='周吴王赵黄吴杨王李张陈杨侯'
l=len(name)
for s in name:
print(s)
if name[0] in name [1:l]:
name = name[1:l]
else:
name=name[1:l]+name[0]
print(name)
打印结果:
D:\python3.6.5\python.exe C:/Users/issuser/PycharmProjects/untitled/yinchengPython/EXE/去重.py
周
吴
王
赵
黄
吴
杨
王
李
张
陈
杨
侯
周赵黄吴王李张陈杨侯
# 方法5:fromkeys()方法是把字符串str转成字典
name='周吴王赵黄吴杨王李张陈杨侯'
zd={}.fromkeys(name) # fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值
print(zd)
mylist=list(zd.keys())
print(mylist)
print(' '.join(mylist)) #返回通过指定字符连接序列中元素后生成的新字符串
{'周': None, '吴': None, '王': None, '赵': None, '黄': None, '杨': None, '李': None, '张': None, '陈': None, '侯': None}
['周', '吴', '王', '赵', '黄', '杨', '李', '张', '陈', '侯']
周 吴 王 赵 黄 杨 李 张 陈 侯
因篇幅问题不能全部显示,请点此查看更多更全内容