如何在Python中获得特定范围内列表的可能组合?

时间:2016-03-28 11:05:40

标签: python list

假设我有这个清单:

letters = list('ABCDEFGHIJKLMNOPQ')

如何在仅4个字符的范围内获得此列表的可能组合?

所以我的结果集将是,例如:

  • ABC
  • NIJK
  • C
  • FK
  • QACD
  • ....

我试过这样,但这似乎不起作用:

for L in range(0, 4):
    for subset in itertools.permutations(letters, L):
        word = ''.join(subset)
        print(word)

1 个答案:

答案 0 :(得分:4)

您需要从1到4计数,而不是从0到3:

result = []
for L in range(1, 5):
    for subset in itertools.permutations(letters, L):
        result.append(''.join(subset))