我读到:Combining two lists and removing duplicates, without removing duplicates in original list但我的需要超出了范围。我至少有30个名单,我需要没有所有名单的重复工会。现在,我的第一次尝试只是使用+将所有成员添加到一个伟大的列表中,然后使用set删除重复项,但我不确定这是否是最佳解决方案:
编辑-添加示例:
list_a = ['abc','bcd','dcb']
list_b = ['abc','xyz','ASD']
list_c = ['AZD','bxd','qwe']
big_list = list_a + list_b + list_c
print list(set(big_list)) # Prints ['abc', 'qwe', 'bcd', 'xyz', 'dcb', 'ASD', 'bxd']
我真正的问题是这是不是最好的组合方式?你知道吗
一种使用
set.union
的方法有already been mentioned,尽管在第一次将列表映射到set
实例之后应用于每个列表。你知道吗另一种选择是,可以省略显式的
set
映射,如set.union
,与set.update
(后一种方法在the accepted answer中介绍)非常类似,它还可以使用任意数量的可iterable参数,允许直接调用空集和提供的列表上的set.union
。你知道吗如果我正确地理解了您要做的事情,那么就可以对任意数量的iterable参数使用
set.update
方法。你知道吗编辑:使用示例数据:
使用
set.union(set1, set2, set3, ..)
。你知道吗更紧凑(适用于Py2和Py3,谢谢@Lynn!)地址:
相关问题 更多 >
编程相关推荐