所有组合可能性

时间:2019-12-23 00:12:52

标签: python list combinations

我用一个简单的问题转发(我以前的帖子已关闭)。

我需要输出长度为N的列表的所有组合。

例如,我已经知道combinations会使用实际的输入列表来完成此操作:['A, 'B'] ==> output: ['A', 'A'], ['A', 'B'], ['B', 'B']

但是,我需要这个:['A', 'A'], ['A', 'B'], ['B', 'A'], ['B', 'B']

是否可以使用combinations()来做到这一点?

2 个答案:

答案 0 :(得分:3)

itertools.product是完成任务的工具

>>> list(itertools.product('AB', repeat=2))
[('A', 'A'), ('A', 'B'), ('B', 'A'), ('B', 'B')]

答案 1 :(得分:1)

您可以使用列表理解:

all_combinations = [[x,y] for x in list_length_N for y in list_length_N]

N = 2的示例

list_2 = [0,1]
all_combinations = [[x,y] for x in list_2 for y in list_2]
print(all_combinations)

输出:

[[0,0],[0,1],[1,0],[1,1]]