'int'对象不可迭代

rtw*_*lve 2 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
Run Code Online (Sandbox Code Playgroud)

Amb*_*ber 10

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

或者,您可以使用enumerate():

for i, val in enumerate(s):
    print(i)
    print(val) # equivalent to s[i]
Run Code Online (Sandbox Code Playgroud)

或者首先不使用索引:

for c in s:
    print(c)
Run Code Online (Sandbox Code Playgroud)

  • 不使用索引的+1.说真的,你在哪里得到了你想要或需要使用索引的想法?据推测,从另一种编程语言.Python比那更好. (2认同)

smi*_*hak 5

你应该做:

for i in xrange(len(s)):
Run Code Online (Sandbox Code Playgroud)