在python里引用字典中的key来得到value的时候系统报错
choices=dict(zip(t1_title,classes))
for i in range(len(t2_data)):
for j in range(1,len(t2_data[i])):
classes_split=t2_data[i][j].split(',')
t2_data[i][j]=''
for k in range(len(classes_split)):
str_=choices[classes_split[k]]
if str_=='√':
t2_data[i][j]=t2_data[i][j]+' '
Traceback (most recent call last):
File "D:\lesson5\tj_class.py", line 32, in
schedule_by_no('2152061')
File "D:\lesson5\tj_class.py", line 22, in schedule_by_no
str_=choices[classes_split[k]]
KeyError: ''
就是我在运行时告诉我那个choices[classes_split[k]]报错了,但是我是确定字典choices里面是有classes_split[k]的key的
想要让这个报错消失同时得到字典中key为classes_split[k]相对应的value来进行if语句
建议逐步 debug,用 IDE 调试或者 print 一下报错的相关变量。
然后可以修改一下代码风格,如果索引值无用,就把报错的代码改为:
for split in classes_split:
str_ = choices[split]
... ...
要是需要索引值,就改为
for k, split in enumerate(classes_split):
str_ = choices[split]
... ...