'int'对象不可迭代

时间:2012-06-19 05:04:47

标签: python string int iterable

7.3并且想知道为什么在下面的例子中字符串“racecar”被视为int类型。 在此先感谢您的任何帮助

>>> s = "racecar"

>>> for i in len(s):

    print(s[i]) 

Traceback (most recent call last):

  File "<pyshell#9>", line 1, in <module>

    for i in len(s):

TypeError: 'int' object is not iterable

2 个答案:

答案 0 :(得分:8)

因为您需要使用range(len(s))来获取要迭代的整数列表(或Python 2.x中的xrange)。

或者,您可以使用enumerate()

for i, val in enumerate(s):
    print(i)
    print(val) # equivalent to s[i]

或者首先不使用索引:

for c in s:
    print(c)

答案 1 :(得分:4)

你应该这样做:

for i in xrange(len(s)):