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

如何用Python方式交错两个长度不等的列表?

Barbara Streisand
Barbara Streisand原创
2024-12-12 16:41:16894浏览

How Can I Pythonically Interleave Two Lists of Unequal Lengths?

Python 式的列表交错

以交替方式组合两个列表是编程中的常见任务。当第一个列表比第二个列表多一个项目时,Python 中有多种方法可以实现这一点。以下是一些 Pythonic 选项:

1。使用切片:

一种方法是使用切片创建一个新列表,将两个列表中的元素交错。这可以通过以下步骤完成:

  1. 创建一个长度等于两个输入列表长度之和的新列表。
  2. 分配偶数索引元素新列表的元素分配给第一个输入列表中的项目。
  3. 将新列表的奇数索引元素分配给第二个输入中的项目

这是一个示例:

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

输出:

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

2.使用 itertools 包:

Python 的 itertools 包提供了一个名为 islice 的便捷函数,可用于以指定间隔迭代列表中的元素。以下是如何使用它来交错两个列表:

import itertools
list1 = ['f', 'o', 'o']
list2 = ['hello', 'world']
result = list(itertools.chain(*itertools.zip_longest(list1, list2)))
print(result)

输出:

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

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

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