连续列表项对的迭代器
给定一个元素列表,您可能需要迭代列表中的连续项对。虽然可以使用 for 循环一次迭代列表中的一个元素并手动检索连续的项目,但有一种更紧凑、更有效的方法可以使用 Python 迭代器来实现此目的。
zip() 函数
Python 的 zip() 函数是一个内置迭代器,允许从多个可迭代对象的相应元素创建元组。在这种情况下,我们可以使用 zip() 创建连续列表项的元组。例如:
l = [1, 7, 3, 5] for first, second in zip(l, l[1:]): print(first, second)
此代码将输出:
1 7 7 3 3 5
zip() 函数有两个参数:第一个是原始列表,第二个是带有删除第一个元素(使用 l[1:] 实现)。然后它将相应的元素组合成元组,在这些元组上创建一个迭代器。
使用 itertools.izip()
对于 Python 2 用户,itertools 模块提供了另一种选择函数名为 izip()。此函数与 zip() 类似,但它返回一个可以延迟计算的 izip 对象,并且不需要在内存中创建新列表。不过,建议在 Python 3 中使用 zip(),因为它更高效且更易于使用。
以上是如何迭代 Python 列表中的连续项目对?的详细内容。更多信息请关注PHP中文网其他相关文章!