在Python中将列表作为对(当前,下一步)迭代

在Python中将列表作为对(当前,下一步)迭代

有时,我需要在Python中迭代一个列表,查看“Current”元素和“Next”元素。到目前为止,我这样做的代码如下:

for current, next in zip(the_list, the_list[1:]):
    # Do something

这样做是可行的,也是我所期望的,但是是否有一种更惯用或更有效的方法来做同样的事情呢?


aluckdog
浏览 582回答 3
3回答

跃然一笑

自the_list[1:]实际上创建整个列表的副本(不包括第一个元素),以及zip()在调用时立即创建一个元组列表,总共创建了三份您的列表。如果您的列表非常大,您可能更喜欢from itertools import izip, islicefor current_item, next_item in izip(the_list, islice(the_list, 1, None)):     print(current_item, next_item)根本不复制列表。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python