Python(大)列表和独特的组合:最聪明的方法

时间:2017-07-25 17:10:37

标签: python list python-3.x combinations ram

我刚看过这里的页面:Get unique combinations of elements from a python list

批准的解决方案......

... 它仅适用于“”列表(例如,100个元素)。

我有一个“大”字符串列表( 100万个元素),我得到了臭名昭着的var tagsArray = {}; tagsArray["1"] = "one"; tagsArray["2"] = "two"; tagsArray["Z"] = "zed"; var result = Object.values(tagsArray).join(","); console.log(result); // "one,two,zed" 例外。

在非常大的列表中获取独特组合的最佳方法是什么?

提前致谢

1 个答案:

答案 0 :(得分:0)

inspectorG4dget's commentlinked answer,如果初始列表中的大量值重复,请先通过set过滤掉,然后找到您的组合。

from itertools import combinations

elements = [gigantic list]

uniques = tuple(set(elements))
combos = [','.join(str(thing) for thing in combo) for combo in combinations(uniques, 2)]