IndexError:列表分配索引超出范围(列表分配)

时间:2019-10-06 06:19:02

标签: python python-3.x

我正在尝试使此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();

1 个答案:

答案 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]