我想刪除我的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