首页 >后端开发 >Python教程 >如何使用 Zip 和列表理解在 Python 中交错列表?

如何使用 Zip 和列表理解在 Python 中交错列表?

DDD
DDD原创
2024-11-15 21:06:03232浏览

How can I Interleave Lists in Python using Zip and List Comprehension?

利用 Zip 和列表理解来交错列表

在 Python 中交错相等长度的列表是一项常见任务。给定两个列表 [1,2,3] 和 [10,20,30],目标是将它们转换为 [1,10,2,20,3,30]。

解决方案使用 Zip 和列表理解:

交错列表的一种简洁方法是利用 zip 函数和列表理解。以下代码完成该任务:

[val for pair in zip(l1, l2) for val in pair]

在此代码中:

  • zip(l1, l2) 迭代两个输入列表中的元素对。
  • 外部列表理解 ([val forpair in zip(l1, l2)]) 为每个列表创建一个新列表
  • 内部列表理解([val for val inpair])为每对值创建一个新列表。

交错多个列表的扩展:

如果有多个列表要交错(N 个列表),可以使用 * 运算符扩展相同的概念zip:

lists = [l1, l2, ...]
[val for tup in zip(*lists) for val in tup]

在此代码中:

  • zip(*lists) 迭代所有输入列表中相应元素的元组。
  • 外部列表理解([val for tup in zip(*lists)]) 为每个元组。
  • 内部列表理解([val for val in tup])为每个值元组创建一个新列表。

以上是如何使用 Zip 和列表理解在 Python 中交错列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn