首页 >后端开发 >Python教程 >如何在Python中交错两个长度不等的列表?

如何在Python中交错两个长度不等的列表?

Patricia Arquette
Patricia Arquette原创
2024-12-02 05:44:09869浏览

How to Interleave Two Lists of Unequal Lengths in Python?

在 Python 中交替交错两个列表

以交替方式组合两个列表时,第一个列表比第二个列表多一个元素,Python 提供了多种方法。

一种方法涉及对列表:

list1 = ['f', 'o', 'o']
list2 = ['hello', 'world']
result = [None]*(len(list1)+len(list2))
result[::2] = list1
result[1::2] = list2

此方法创建一个长度等于输入列表的组合长度的新列表。它将 list1 中的偶数索引值和 list2 中的奇数索引值分配到新列表中,从而产生所需的交错效果。

或者,您可以使用 itertools 模块中的 zip_longest() 函数:

from itertools import zip_longest
result = list(zip_longest(list1, list2, fillvalue=None))

zip_longest() 按元素组合列表,用指定的填充值填充缺失值。由于我们提供 None 作为填充值,因此少一个元素的列表将用 None 值填充,从而实现所需的交错。通过将 zip_longest() 返回的生成器转换为列表,即可获得最终结果。

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

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