我想删除我的python列表中的某些重复项。 我知道有办法删除所有重复,但我想删除连续重复,同时保持列表顺序。Python在维持秩序的同时从列表中删除一些重复项?
例如,我有一个列表,如下列:
list1 = [a,a,b,b,c,c,f,f,d,d,e,e,f,f,g,g,c,c]
不过,我想删除重复项,并维持秩序,但仍保持2级C的和2 F的,像这样的:
wantedList = [a,b,c,f,d,e,f,g,c]
到目前为止,我有这样的:
z = 0
j=0
list2=[]
for i in list1:
if i == "c":
z = z+1
if (z==1):
list2.append(i)
if (z==2):
list2.append(i)
else:
pass
elif i == "f":
j = j+1
if (j==1):
list2.append(i)
if (j==2):
list2.append(i)
else:
pass
else:
if i not in list2:
list2.append(i)
然而,这种方法让我喜欢的事:
wantedList = [a,b,c,c,d,e,f,f,g]
因此,不维护订单。
任何想法,将不胜感激!谢谢!
准确地说,你想删除*连续*重复?还是有什么特别的'c'和'f'使得它们与其他元素的区别对待? – 2012-07-23 03:28:30