我有一個這樣的清單;a=[['2019', '08'], ['2018', '10'], ['2019', '08'], ['2019', '08'], ['2018', '10'], ['2019', '02']]如何刪除重復項。[['2019', '08'], ['2018', '10'], ['2019', '02']]
3 回答

慕姐8265434
TA貢獻1813條經驗 獲得超2個贊
如果順序很重要(但算法復雜性不重要):
b = []for x in a: if x not in b: b.append(x)
如果復雜性相關,這里有一個 O(??) 解決方案:
seen = set()b = []for x in a: t = tuple(x) if t not in seen: b.append(x) seen.add(t)

呼如林
TA貢獻1798條經驗 獲得超3個贊
你可以很容易地做到這一點
a=[['2019', '08'], ['2018', '10'], ['2019', '08'], ['2019', '08'], ['2018', '10'], ['2019', '02']]
uniq = []
[uniq.append(x) for x in a if x not in uniq]
uniq
>>[['2019', '08'], ['2018', '10'], ['2019', '02']]

侃侃無極
TA貢獻2051條經驗 獲得超10個贊
顯然,如果您不知道此方法。我強烈建議您從這個實現開始,了解它是如何工作的,然后繼續進行更高級別的實現
a=[['2019', '08'], ['2018', '10'], ['2019', '08'], ['2019', '08'], ['2018', '10'], ['2019', '02']]
print(a)
b = []
for l in a:
if l not in b:
b.append(l)
print(b)
嘗試在這里玩并了解它是如何工作的,因為它是一個簡單的實現,它顯示了應該如何完成工作的基礎知識,解決像這樣的簡單問題
添加回答
舉報
0/150
提交
取消