python 记录列表错误TypeError: list indices must be integers or slices, not str

今天遇到一个低级错误:

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基础知识)