Python针对字符串进行去重和排序
第一种方法for循环
首先针对与字符串的去重可以用到for循环去重,然后再把for循环之后的字符串变成数组,最后再用sort进行排序
s='aabbccdd'
bb=''
for i in s:
if i not in bb:
bb+=i
l=list(bb)
l.sort()
bb=''.join(l)
print(bb)
sort默认是升序,如果想要降序显示可以用reverse=True
l.sort(reverse=True)
第二种方法就是列式推导法
因为append进行插入主要是针对于列表所以不能用字符串来定义bba对象,必需以列表形式,获得去重后的结果再用sort进行排序后通过join再转化成字符串的形式
s='aabbccdd'
bba=[]
[bba.append(i) for i in s if i not in bba ]
bba.sort()
bbc=''.join(bba)
print(bbc)
第三种方法是用set
set去重主要是针对于列表,如果不用list将字符串转化成列表的话就会报错
AttributeError: 'set' object has no attribute 'sort'
所以需要用list将字符串转换成列表也就是,最后转换完成之后还是用join将列表变成字符串即可
l2 = list(set(s))
s='aabbccdd'
l2 = list(set(l))
l2.sort()
l3 =''.join(l2)
print(l3)