在python 2.7中使用for循环迭代

时间:2016-11-29 17:19:49

标签: python python-2.7

当我使用for循环时,我对列表中的迭代顺序有疑问。 我试图通过一个对列表并对它们进行一些操作。例如,请考虑以下代码:

for j in my EdgeList:    #Edgelist= [(4,5),(5,6)]
    mylist.append(j)

然而,我想当我使用这段代码时,j的值将是第一个循环中的第一对(4,5),然后它将在第二个循环中取第二对(5,6)。当我逐行调试程序时,我注意到有时它需要最后一对而不是第一对,而在另一次调试运行时它首先需要第一对。我想知道python是否正常。

1 个答案:

答案 0 :(得分:1)

如果EdgeList是一个List,则迭代将始终从第一个索引开始并转到最后一个索引。这两个应输出相同的结果:

>>> i = 0
>>> l = [1,2,3,4,5]
# Don't use a while loop like this… please.
>>> while i < len(l):
...    print(l[i])
...    i+= 1
# outputs 1 2 3 4 5 separated by newlines
>>> for item in l:
...    print(item)
# outputs 1 2 3 4 5 separated by newlines

但有时候EdgeList实际上不是列表。 Set,例如,不保证订单,也不是词典的关键。这意味着{'f':1,'g':2}.keys() 1, 2

的顺序返回序列