2014-04-22 111 views
1

爲什麼這個代碼...簡單的for循環的解釋

alist = ['cat','dog','cow'] 
for item in alist: 
     print alist 

輸出

['cat', 'dog', 'cow'] 
['cat', 'dog', 'cow'] 
['cat', 'dog', 'cow'] 

雖然改變從alistprintitem輸出:

cat 
dog 
cow 

我明白,當打印alist它會打印清單的次數是列表中的元素,但我想我只是不明白爲什麼這是不同的。

如果有人能向我解釋區別或指出我朝着正確的方向,我將不勝感激。

回答

1
  • 你有一個清單 - 它包含貓,狗和牛。
  • 然後你說:對於我列表中的每個東西,打印我的列表。
  • 您的列表中有3件東西(貓,狗和牛),因此您的列表 會打印3次。
  • 當您切換聲明說print item而不是 print alist你是說在我的名單打印 那個東西每樣東西 - 所以在你的列表中的每個東西被印刷,

    cat, dog, cow.

1

當你遍歷一個列表,一個for循環這樣

for item in alist: 

Python中,得到每一個元素從alist,使item是指該元素在每個迭代上。這就是爲什麼當您打印item時,您一次只能獲得一個元素。

0

的方式,我個人理解的for循環的邏輯是這樣的:「對於每一個在清單中的項目之一讀取時間,你的程序將打印/做點什麼

項目列表保持不變。 。

第一次你只是在你的名單重複列表中的每個條目的位置(索引)

你讀第二次/讀取列表中的每個項目一旦每個項目在列表中


for each_item in my list: 
    #do something