gpt4 book ai didi

python - 合并一个大列表中具有重复项目的列表

转载 作者:行者123 更新时间:2023-12-01 01:30:35 24 4
gpt4 key购买 nike

我需要一种有效的算法来将具有重复项的列表合并到 1 个列表中。列表具有不同顺序的相同提取项目。它们都在一个大列表中。例如: [ [1,2,3],[3,2,1],[2,1,3],[4,5],[5,4],[6] ]输出应该是:[[1,2,3],[4,5],[6]]

我有这段代码,但是当我迭代列表并删除项目时,索引超出范围:

biglist = [ [1,2,3],[3,2,1],[2,1,3],[4,5],[5,4],[6] ]

for i in range(len(biglist)):
temp = set(biglist[i])
for j in range(i,len(biglist)-1):
temp2 = set(biglist[j])
if(temp == temp2):
del biglist[j]

最佳答案

一种解决方案是对 biglist 内的列表进行排序然后转换为元组,set() 将允许删除重复项。

def remove_dups(a):
return list(map(list, set(map(tuple, map(sorted, a)))))

print (remove_dups(biglist))
# [[4, 5], [6], [1, 2, 3]]

关于python - 合并一个大列表中具有重复项目的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52914084/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com