我用一个简单的问题转发(我以前的帖子已关闭)。
我需要输出长度为N
的列表的所有组合。
例如,我已经知道combinations
会使用实际的输入列表来完成此操作:['A, 'B']
==> output: ['A', 'A'], ['A', 'B'], ['B', 'B']
但是,我需要这个:['A', 'A'], ['A', 'B'], ['B', 'A'], ['B', 'B']
。
是否可以使用combinations()
来做到这一点?
答案 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]]