【发布时间】:2014-06-19 14:24:16
【问题描述】:
是否有可能在你循环的 for 循环中获取下一个迭代项
for x,y dict.iteritems()
我对 x 的下一项感兴趣,而无需向前移动迭代器。
在 Python 2.7.x 中
【问题讨论】:
标签: python-2.7 dictionary iterator
是否有可能在你循环的 for 循环中获取下一个迭代项
for x,y dict.iteritems()
我对 x 的下一项感兴趣,而无需向前移动迭代器。
在 Python 2.7.x 中
【问题讨论】:
标签: python-2.7 dictionary iterator
这或多或少是问题How to access previous/next element while for looping? 和Iterate a list as pair (current, next) in Python 的重复。
请注意,以下内容仅是对第一个线程中 most upvoted answer 的改编,适合您的规范:
def iterate(iterable):
iterator = iter(iterable)
item = iterator.next()
for next_item in iterator:
yield item, next_item
item = next_item
yield item, None
用法:
d = {'a': 1, 'b': 2, 'c': 3}
for item, next_item in iterate(d.iteritems()):
print item, '| next:', next_item
感谢Markus Jarderot 的解决方案。
【讨论】: