使用itertools.permutation时内核死

时间:2019-03-25 08:47:11

标签: python-3.x

我有一个字符串列表。我想找到该列表的所有可能组合。我使用itertools.permutation并运行了一段时间,但随后崩溃,提示内核死亡,重新启动。我也尝试通过终端运行代码。但是它也在那里崩溃。这是我的代码:

import itertools


sum_stats = ['pi', 'theta W','Tajima D','distVar','distSkew','distKurt','nDiplos',
         'diplo_H1','diplo_H12','diplo_H2/H1','diplo_ZnS','diplo_Omega']

permuted_sum_stats = list(itertools.permutations(sum_stats))

有人可以告诉我一种创建此列表所有可能组合的有效方法吗?

1 个答案:

答案 0 :(得分:2)

您的列表包含12个元素。为了获得所有可能的排列,您的新列表需要12!或大约5亿个元素。这些列表之一占用大约150个字节,不包括字符串的空间,我认为这些空间已被重用。

这导致大约75 GB的数据,可能比计算机的RAM多。