当我使用for循环时,我对列表中的迭代顺序有疑问。 我试图通过一个对列表并对它们进行一些操作。例如,请考虑以下代码:
for j in my EdgeList: #Edgelist= [(4,5),(5,6)]
mylist.append(j)
然而,我想当我使用这段代码时,j的值将是第一个循环中的第一对(4,5),然后它将在第二个循环中取第二对(5,6)。当我逐行调试程序时,我注意到有时它需要最后一对而不是第一对,而在另一次调试运行时它首先需要第一对。我想知道python是否正常。
答案 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