Это гарантировано для списков. Я думаю, что более уместным Python, параллельным вашему примеру C #, было бы перебирать ключи в словаре, который НЕ гарантированно находится в любом порядке.
# Always prints 0-9 in order
a_list = [0,1,2,3,4,5,6,7,8,9]
for x in a_list:
print x
# May or may not print 0-9 in order. Implementation dependent.
a_dict = {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}
for x in a_dict:
print x
Структура for <element> in <iterable>
беспокоится только о том, что iterable
предоставляет функцию next()
, которая возвращает что-то. Нет общей гарантии, что эти элементы будут возвращены в любом порядке по домену оператора for..in
; списки являются особым случаем.