我正在玩Python,并想知道为什么会这样:
def fir(word):
for x in word:
print word[3]
break
fir('alex')
这不是:
def fir(word):
for x in word:
print x[3]
break
fir('alex')
答案 0 :(得分:2)
Word是一个字符串,x将连续占用字符串的每个字符。
如果你的话是' kthxbye'然后x将是' k'在第一次迭代,然后' t'等等。
打印字[3]每次打印单词的4rth字母(索引从0开始)。
x是一个角色。在选择''#4;的4rth成员是没有意义的。例如。
答案 1 :(得分:0)
原因是“word”是一个字符数组,x是一个字符。当你试图获得允许的地址空间时,你会说法律操作[3],但是当你做x [3]时,你试图做索引超出范围操作。