Python 3.7 /列表分配索引错误

时间:2019-04-23 17:23:24

标签: python python-3.x nameerror

这是我第一次在这里问一个问题,所以问题的格式是否有问题,对此我感到抱歉。

所以基本上这是一个应该获取数字列表的代码,并从用户那里获取一个数字,然后检查第二个输入是否等于列表中的任何元素,然后将这些元素索引号放入新列表并打印。

问题是错误的是,未定义'a',但如果我在for循环之前定义了它,如下所示:

  

a = []

a=list()

我明白了:

a[k]= c
IndexError: list assignment index out of range 

代码如下:

x = eval(input('list'))
y = eval(input('number'))
k=0
c=0
for i in x:
    if y==i:
        a[k]= c
        k+=1
    c+=1
print(a)

2 个答案:

答案 0 :(得分:0)

python中的列表不支持索引分配。 -因此,索引将始终为数字,具体取决于位置0、1,n。

要添加使用append,要使用哈希映射,请使用dict

答案 1 :(得分:0)

代替

a[k]= c

您可以使用

a.append(c)