Python函数类似于组合和置换

时间:2015-04-30 12:48:35

标签: python combinations permutation

我有一些清单

a = [1,2]
b = [A,B]

我想生成一个类似于以下内容的新列表列表(我不记得这个"操作的名称" ...)

[1,A],[1,B],[2,A],[2,B]

有没有快速的方法来实现这一结果?

1 个答案:

答案 0 :(得分:2)

它是itertools.product的用途:

>>> from itertools import product
>>> 
>>> a = [1,2]
>>> b = ['A','B']
>>> 
>>> list(product(a,b))
[(1, 'A'), (1, 'B'), (2, 'A'), (2, 'B')]

如果您希望结果是嵌套列表,可以使用map函数将tuple转换为列表:

>>> map(list,product(a,b))
[[1, 'A'], [1, 'B'], [2, 'A'], [2, 'B']]