删除重复项(python)

我有一个这样的清单;

a=[['2019', '08'], ['2018', '10'], ['2019', '08'], ['2019', '08'], ['2018', '10'], ['2019', '02']]

如何删除重复项。

[['2019', '08'], ['2018', '10'], ['2019', '02']]


墨色风雨
浏览 117回答 3
3回答

慕姐8265434

如果顺序很重要(但算法复杂性不重要):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)

呼如林

你可以很容易地做到这一点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']]

侃侃无极

显然,如果您不知道此方法。我强烈建议您从这个实现开始,了解它是如何工作的,然后继续进行更高级别的实现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)尝试在这里玩并了解它是如何工作的,因为它是一个简单的实现,它显示了应该如何完成工作的基础知识,解决像这样的简单问题
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python