2013-08-29 87 views
0

任何人都可以解釋我下面的含義嗎?瞭解「對於value1,value2在xx中」

for value1,value2 in List1: 
      do_something() 

我明白

for x1 in List2: 
     do_something() 

這裏遍歷List2x1是參考List2每個項目,但我沒有得到第一個做什麼。

回答

4

就像

for x in seq: 

遍歷seq環節都分配給x

for a, b in seq: 

將遍歷seq環節都分配給a, b。它相當於

for x in seq: 
    a, b = x 

a, b = x做什麼?那麼,它是序列拆包。 Python會嘗試將x視爲2元素序列,並將x的元素分配給ab

2

第一個是sequence unpacking。另外,也可以在一個正常的分配:

mylist = [1, 2, 3] 
a, b, c = mylist 

列表的元素分配給變量abc

和循環一樣。

for x in iterable: 
    a, b, c = x 

可縮短至

for a, b, c in iterable: 
    ... 

如果迭代是一個可迭代僅含有的3項如

[(1, 2, 3), (5, 4, 3), etc.] 
元件(主要是元組)
相關問題