我需要一个有效的算法来合并列表与重复的项目到1个名单。列表中有相同的excat项,但顺序不同。他们都在一个大名单里。 示例:[[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()
将允许删除重复项。你知道吗试试这个:
解释在代码注释中。你知道吗
试试这个:
输出:
相关问题 更多 >
编程相关推荐