IndexError:列表赋值索引在python中超出范围 我究竟做错了什么。我是新手
actual_ans_dict = []
for data in prsnobj.result:
actual_ans_dict[data[0]] = data[1]
print actual_ans_dict
答案 0 :(得分:4)
actual_ans_dict
是一个空列表。您正尝试将值设置为actual_ans_dict[data[0]]
,但不存在具有此索引的元素
您可以将actual_ans_dict
的类型更改为dict:
actual_ans_dict = {}
for data in prsnobj.result:
actual_ans_dict[data[0]] = data[1]
print actual_ans_dict
答案 1 :(得分:1)
这是因为您的actual_ans_dict
为空,这意味着它还没有任何索引。
actual_ans_dict = [None]*max([data[0] for data in prsnobj.result]) # not very pythonic, actualy
for data in prsnobj.result:
actual_ans_dict[data[0]] = data[1]
print actual_ans_dict
这将使您能够为特定索引分配值。 有一种更正确,更短的方法:
actual_ans_dict = [data[1] for data in prsnobj.result]