python:从列表中创建元组列表
问题描述
我有两个列表:
x = ['1', '2', '3']
y = ['a', 'b', 'c']
我需要从这些列表中创建一个元组列表,如下所示:
and I need to create a list of tuples from these lists, as follows:
z = [('1','a'), ('2','b'), ('3','c')]
我试过这样做:
z = [ (a,b) for a in x for b in y ]
但导致:
[('1', '1'), ('1', '2'), ('1', '3'), ('2', '1'), ('2', '2'), ('2', '3'), ('3', '1'), ('3', '2'), ('3', '3')]
即x 中的每个元素与 y 中的每个元素的元组列表......做我想做的事情的正确方法是什么?谢谢...
i.e. a list of tuples of every element in x with every element in y... what is the right approach to do what I wanted to do? thank you...
编辑之前提到的另外两个重复是我的错,错误地缩进了另一个for循环......
The other two duplicates mentioned before the edit is my fault, indented it in another for-loop by mistake...
解决方案
使用内置函数 zip()
:
Use the builtin function zip()
:
在 Python 3 中:
In Python 3:
z = list(zip(x,y))
在 Python 2 中:
In Python 2:
z = zip(x,y)
相关文章