Noo*_*der 3 python list duplicate-removal
我有一个列表列表,需要删除所有具有相同第三元素的列表,并保存1.
例如:
x=[[1,2,3],[1,3,3],[5,6,3],[2,4,6],[8,5,9],[10,5,9]]
Run Code Online (Sandbox Code Playgroud)
可以变成:
x=[[1,2,3],[2,4,6],[8,5,9]]
Run Code Online (Sandbox Code Playgroud)
我试过一个解决方案,使用lambda消除所有具有相同第二个索引的列表,但我不知道如何保存每个元素之一,如set()呢 - 我得到:
x=[[2,4,6]]
Run Code Online (Sandbox Code Playgroud)
Python集应该仍然适合你:
>>> seen = set()
>>> result = []
>>> for s in x:
e = s[2]
if e not in seen:
result.append(s)
seen.add(e)
>>> result
[[1, 2, 3], [2, 4, 6], [8, 5, 9]]
Run Code Online (Sandbox Code Playgroud)