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

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

Patricia Arquette
发布: 2024-12-02 05:44:09
原创
863 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板