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