首页 >后端开发 >Python教程 >如何在 Python 中有效地交错不等长列表?

如何在 Python 中有效地交错不等长列表?

Linda Hamilton
Linda Hamilton原创
2024-12-08 11:59:11297浏览

How Can I Efficiently Interleave Unequal-Length Lists in Python?

不等长列表的 Pythonic 交织

交织两个不同长度列表的 Pythonic 解决方案比提供的循环更高效、更优雅方法。通过利用切片,可以通过一行代码完成该任务。

考虑以下示例,其中第一个列表比第二个列表多包含一个项目:

list1 = ['f', 'o', 'o']
list2 = ['hello', 'world']

所需的输出是:

['f', 'hello', 'o', 'world', 'o']

使用切片,这可以实现为如下所示:

result = [None]*(len(list1)+len(list2))
result[::2] = list1
result[1::2] = list2

此方法创建一个新列表 result,它有足够的空间来容纳两个输入列表中的元素。切片运算符 [::2] 和 [1::2] 将每个其他元素分配给相应的输入列表。

结果是一个新列表,根据需要交替两个输入列表中的元素。这种方法比循环方法更简洁、高效、Pythonic。

以上是如何在 Python 中有效地交错不等长列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

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