所以,我试图从以下2个列表中删除重复的字符,我的代码适用于Int,但不适用于我的字符串?!
任何提示? 代码如下:
list = [0,1,0,1,2,2,3,4,5,7,9,8,10,1,1,3,4,5,6,7,8,9,10]
list2 = ['z','r','a','z','x','b','z','a','f','f','f','x','t','t','o','p','a','b','v','e','q','p','c','x']
for i in list:
list.sort()
compteur = 0
while compteur < len(list):
if i == list[compteur]:
list.remove(list[compteur])
compteur+=1
elif i != list[compteur]:
compteur+=1
for i in list:一切都应该缩进idk为什么我无法让它看起来正确。
答案 0 :(得分:1)
如果你不能使用套装,你可以这样做,它可以用于你的两个列表。
int_list = [0,1,0,1,2,2,3,4,5,7,9,8,10,1,1,3,4,5,6,7,8,9,10]
ints = []
for i in int_list:
if i not in ints:
ints.append(i)
ints.sort()
>>> print ints
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
对于你的角色列表:
char_list = ['z','r','a','z','x','b','z','a','f','f','f','x','t','t','o','p','a','b','v','e','q','p','c','x']
chars = []
for i in char_list:
if i not in chars:
chars.append(i)
chars.sort()
>>> print chars
['a', 'c', 'b', 'e', 'f', 'o', 'q', 'p', 'r', 't', 'v', 'x', 'z']
答案 1 :(得分:1)
正如您所说,不允许您使用集合,您可以让它验证每个元素并将其插入第三个唯一元素列表:
int_list = [0,1,0,1,2,2,3,4,5,7,9,8,10,1,1,3,4,5,6,7,8,9,10]
char_list = ['z','r','a','z','x','b','z','a','f','f','f','x','t','t','o','p','a','b','v','e','q','p','c','x']
int_list 的示例:
unique_list = []
for el in int_list:
if el not in unique_list:
unique_list.append(el)
else:
print "Element already in the list"
结果将是:
>>> print unique_list
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
答案 2 :(得分:0)
这是一个老问题,但我在这里留下这个答案
from collections import Counter
def dup_remover(lst):
return list(Counter(lst))
>>> dup_remover(list2)
['a', 'c', 'b', 'e', 'f', 'o', 'q', 'p', 'r', 't', 'v', 'x', 'z']