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]
したがって、順序を維持しません。
任意のアイデアをいただければ幸いです!ありがとう!