什么是Pythonic方法来获取两个列表元素的所有可能组合的元组列表?

pto*_*ato 4 python list

假设我有两个不同大小的列表

a = [1, 2, 3]
b = ['a', 'b']
Run Code Online (Sandbox Code Playgroud)

什么是Pythonic方法来获取c一个元素a和一个元素的所有可能组合的元组列表b

>>> print c
[(1, 'a'), (1, 'b'), (2, 'a'), (2, 'b'), (3, 'a'), (3, 'b')]
Run Code Online (Sandbox Code Playgroud)

元素的顺序c无关紧要.

具有两个for循环的解决方案是微不足道的,但它似乎并不特别是Pythonic.

Moe*_*Moe 13

使用列表理解:

>>> a = [1, 2, 3]
>>> b = ['a', 'b']
>>> c = [(x,y) for x in a for y in b]
>>> print c
[(1, 'a'), (1, 'b'), (2, 'a'), (2, 'b'), (3, 'a'), (3, 'b')]
Run Code Online (Sandbox Code Playgroud)


Ale*_*ler 10

试试itertools.product.