Python:迭代元组时是否保留了顺序?

时间:2014-09-04 16:52:39

标签: python loops tuples

在Python中,如果我运行代码:

T=('A','B','C','D')
D={}
i=0
for item in T:
    D[i]=item
    i=i+1

我可以确定D将被组织为:

D = {0:'A', 1:'B', 2:'C', 3:'D'}

我知道那些元组'订单无法更改,因为它们是不可变的,但我保证它总是按顺序迭代?

1 个答案:

答案 0 :(得分:14)

是的,元组是有序的,迭代遵循该顺序。保证™。

您可以使用enumerate()在一个表达式中生成D以生成索引:

D = dict(enumerate(T))

这是因为enumerate()生成(index, value)元组,而dict()接受(key, value)元组序列来生成字典:

>>> T = ('A', 'B', 'C', 'D')
>>> dict(enumerate(T))
{0: 'A', 1: 'B', 2: 'C', 3: 'D'}