2

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
4

2 回答 2

10

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

或者,您可以使用enumerate()

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

或者只是不首先使用索引:

for c in s:
    print(c)
于 2012-06-19T05:06:13.903 回答
5

你应该做:

for i in xrange(len(s)):
于 2012-06-19T05:06:19.457 回答