<分区>
假设我有两个不同大小的列表
a = [1, 2, 3]
b = ['a', 'b']
什么是 Pythonic 方法来获取 a
中的一个元素和 b
中的一个元素的所有可能组合的元组列表 c
>?
>>> print c
[(1, 'a'), (1, 'b'), (2, 'a'), (2, 'b'), (3, 'a'), (3, 'b')]
c
中元素的顺序无关紧要。
带有两个 for
循环的解决方案很简单,但它看起来并不是特别 Pythonic。
<分区>
假设我有两个不同大小的列表
a = [1, 2, 3]
b = ['a', 'b']
什么是 Pythonic 方法来获取 a
中的一个元素和 b
中的一个元素的所有可能组合的元组列表 c
>?
>>> print c
[(1, 'a'), (1, 'b'), (2, 'a'), (2, 'b'), (3, 'a'), (3, 'b')]
c
中元素的顺序无关紧要。
带有两个 for
循环的解决方案很简单,但它看起来并不是特别 Pythonic。
最佳答案
使用列表理解:
>>> 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')]
关于list - 获取两个列表元素的所有可能组合的元组列表的 Pythonic 方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2454626/