我正在尝试使此p = [0,25,43.3013,50,43.3013,25,0,0,0,0,0]仅分配给位置1,2,3,4,5,其他零。我得到了这个错误:
Tkinter回调中的异常
回溯(最近通话最近一次):
调用中的文件“ C:\ Users \ sel \ Anaconda3 \ lib \ tkinter__init __。py”,行1705 返回self.func(* args)
文件“”,第28行,位于open_window1中
p [1] = 25
IndexError:列表分配索引超出范围
如何解决?
int p = func();
答案 0 :(得分:1)
p = []
p[1]=25
p[2]=43.3013
p[3]=50
p[4] = 43.3013
p[5] = 25
这在Python中是不允许的;您不能将其分配给尚不存在的列表索引。 (此外,第一个索引将是0
,而不是1
。)您将p
设为了一个空列表,因此这些分配都不被允许。
要将值附加到列表的末尾,无论其已包含多少元素,请使用.append()
方法。
但是最好首先使用注释掉的版本:p = [0,25,43.3013,50,43.3013,25,0,0,0,0,0]
。