今天遇到一个低级错误:
week = ['monday','tuesday','wednesday','thursday','friday','saturday','sunday']
day = input().lower()
for i in week:
if week[i][0] == day:
有没有发现第四行的错误?运行时报错:TypeError: list indices must be integers or slices, not str
问题:在for循环中,i指的是什么,看下边这个例子:
week = ['monday','tuesday','wednesday','thursday','friday','saturday','sunday']
for i in week:
print(i)
注意到,i指的是元素,而不是元素的下标。
究其原因,是因为最近经常写:
for i in range (9):
类似的for循环。下意识的认为i是数字。
本文分析了一个关于Python列表索引的常见错误,并通过实例解释了如何正确地遍历列表。作者通过对比for循环的不同用法,揭示了列表元素与元素下标的区别。

8万+

被折叠的 条评论
为什么被折叠?



