Skip to main content
 首页 » 编程设计

python之如何从 Python 中的未排序列表中删除部分重复项

2025年05月04日21over140

我有一个很大的列表

[[1,.., ..],[2,...,...],[5,...,...],[1,...,...]] 

我需要删除所有具有相同第一个值的元素。 (只保留一次)

如何最有效地做到这一点?

请您参考如下方法:

保留到目前为止看到的第一个值的集合,并且只保留第一个值不在集合中的子列表。

因为set.add总是返回None,keys.add(sublist[0]) or sublist与是一样的None 或 sublist 与 sublist 相同,因此它不会影响列表中保留的内容,同时允许您在列表理解内向集合添加值。

keys = set() 
biglist = [keys.add(sublist[0]) or sublist  
              for sublist in biglist  
                  if sublist[0] not in keys] 
del keys # if you don't need it any more