2011-03-17 124 views
2

我剛剛開始用python .. 我得到了for循環的錯誤.. 是什麼問題?for python中的循環

Traceback (most recent call last): 
    File "userentry.py", line 34, in <module> 
    userentry(p,i) 
    File "userentry.py", line 26, in userentry 
    for cl in len(mylist): 
    TypeError: 'int' object is not iterable 

請幫我

回答

8

你可以只遍歷列表,你不要在列表的長度進行迭代。

for cl in mylist: 
    # do stuff 

如果你需要保持當前項目的索引的曲目,請enumerate

for idx, item in enumerate(mylist): 
    # idx = index of current item 
    # item = current item 

當你嘗試做for cl in len(mylist),這等於是說for cl in 5(如果MYLIST具有長度爲5) ,這沒有什麼意義。如果你想只遍歷一個列表的索引,也最好使用上述enumerate例子,但你也可以做

for i in range(len(mylist)): 
    # mylist[i] is the ith item in the list 

雖然有原因很少做到這一點,而不是僅僅使用enumerate版本以上。

+0

謝謝sir..It工作 – Ria 2011-03-17 16:27:58

0

你應該寫

for cl in mylist: 

LEN()不是迭代。

+0

但它返回類型錯誤:列表索引必須是整數,而不是str的 – Ria 2011-03-17 16:11:35

+0

@Ria:CL不是指數。這是項目本身。請使用'print'語句來查看'cl'的值。 – 2011-03-17 17:32:40

0
for cl in mylist: 
    print repr(cl) 
    #do whatever