【发布时间】:2015-09-18 23:42:45
【问题描述】:
据我在 Python 2.7 中所见,列表的迭代器以索引递增的顺序遍历列表。我想知道这个顺序是否由 Python 2/3 保证,或者这个顺序是否明确定义为列表迭代器的行为。
换句话说,如果我想以递增索引的顺序遍历列表(并且我要求它是这样的顺序),并为此目的简单地使用迭代器,是否有可能在某些更高版本的Python 的行为会改变吗?
【问题讨论】:
-
@KronoS 所以你的答案是,它不保证迭代器遍历列表的顺序,对吧?
-
答案是肯定的。考虑到它是如何在源代码中实现的,对他们来说改变这样的东西是很疯狂的。字典是另一回事。他们为什么要改变它?
-
如果改变了,它会破坏数千甚至数百万的 Python 程序。
标签: python list iterator listiterator