def firstnonrepeatingchar(str1):
list1=list(str1)
list2=[]
print(list1)
for ch in list1:
if ch not in list2:
a=list1.count(ch)
list2.append(a)
print(list2)
for x in list2:
if(x==1):
print(list1[x+2])
string1="aaabccc"
firstnonrepeatingchar(string1)
输出给出的list2为[3,3,3,1,3,3,3]如何使其仅作为[3,1,3]?
您之所以得到这个[3,3,3,1,3,3,3]
,是因为您每次遇到角色时都要追加。
一种更好的方法是使用不允许重复并保留顺序的OrderedSet
。
from orderedset import OrderedSet
def firstnonrepeatingchar(str1):
s = OrderedSet(str1)
list2 = []
for ch in s:
list2.append(str1.count(ch))
print(list2)
string1="aaabccc"
firstnonrepeatingchar(string1)