python:从列表创建元组列表

发布于 2024-12-02 19:51:07 字数 529 浏览 1 评论 0原文

我有两个列表:

x = ['1', '2', '3']
y = ['a', 'b', 'c']

我需要从这些列表创建一个元组列表,如下所示:

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 中每个元素的元组列表...做我想做的事情的正确方法是什么?谢谢...

编辑:编辑之前提到的另外两个重复项是我的错,错误地在另一个 for 循环中缩进了它...

I have two lists:

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')]

I tried doing it like this:

z = [ (a,b) for a in x for b in y ]

but resulted in:

[('1', '1'), ('1', '2'), ('1', '3'), ('2', '1'), ('2', '2'), ('2', '3'), ('3', '1'), ('3', '2'), ('3', '3')]

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...

EDIT: The other two duplicates mentioned before the edit is my fault, indented it in another for-loop by mistake...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

千纸鹤带着心事 2024-12-09 19:51:08

使用内置函数 zip()

在 Python 中3:

z = list(zip(x,y))

在Python 2中:

z = zip(x,y)

Use the builtin function zip():

In Python 3:

z = list(zip(x,y))

In Python 2:

z = zip(x,y)
冰魂雪魄 2024-12-09 19:51:08

您正在寻找 zip 内置 函数。
来自文档:

>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>> zipped = zip(x, y)
>>> zipped
[(1, 4), (2, 5), (3, 6)]

You're looking for the zip builtin function.
From the docs:

>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>> zipped = zip(x, y)
>>> zipped
[(1, 4), (2, 5), (3, 6)]
百合的盛世恋 2024-12-09 19:51:08

您正在寻找 zip 功能。

直接取自问题:如何合并列表Python 中的元组列表?

>>> list_a = [1, 2, 3, 4]
>>> list_b = [5, 6, 7, 8]
>>> zip(list_a,list_b)
[(1, 5), (2, 6), (3, 7), (4, 8)]

You're after the zip function.

Taken directly from the question: How to merge lists into a list of tuples in Python?

>>> list_a = [1, 2, 3, 4]
>>> list_b = [5, 6, 7, 8]
>>> zip(list_a,list_b)
[(1, 5), (2, 6), (3, 7), (4, 8)]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文