python:从列表中创建元组列表

2022-01-20 00:00:00 python list tuples

问题描述

我有两个列表:

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)

相关文章