2011-03-17 112 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