的Python(大)名单和独特的组合:做他们

问题描述:

最聪明的办法,我刚才读的页面在这里:Get unique combinations of elements from a python list的Python(大)名单和独特的组合:做他们

解决方案获批准的工程...

... 它只能与“”列表(例如100个元素)。

我有一个“大”字符串列表(100万元),我得到了臭名昭着的"MemoryError"异常。

在超大型列表上获得独特组合的最佳方式是什么?

在此先感谢

+2

你不知道。这是一个坏主意。 – user2357112

+0

组合的大小是多少?很快你就会得到比你希望处理的数据更多的数据 – roganjosh

+0

组合的大小是“2” –

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)]