【发布时间】:2012-07-21 07:26:19
【问题描述】:
我想删除我的 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有什么特别之处,以至于它们的处理方式与其他元素不同?
标签: python list set duplicates