def word(longest):
max_length = 0;
words = longest.split(" ")
for x in words:
if len(words[x]) > max_length:
max_length = len(words[x])
return max_length
word("Hello world")
确切错误:
TypeError: list indices must be integers, not str
我仍然是一个菜鸟,所以请,没有意思。
答案 0 :(得分:3)
因为您使用x
作为索引,所以当它实际上是字符串本身时。
你可以这样做:
for x in words:
if len(x) > max_length:
max_length = len(x)
答案 1 :(得分:3)
执行for x in words
后,x
就是一个单词。因此,您不需要words[x]
来获取信息。 words[x]
期望x
是一个整数,但它是一个字符串,这就是你得到错误的原因。
所以你应该写:
for x in words:
if len(x) > max_length:
max_length = len(x)