Ошибка имени в Python 3.7 / Ошибка индекса назначения списка - PullRequest
0 голосов
/ 23 апреля 2019

Прежде всего, я впервые задаю вопрос здесь, так что если что-то не так с форматом вопроса, извините.

Таким образом, в основном это код, который должен получить список чисел, число от пользователя и проверить, равен ли второй вход любому из элементов списка, затем поместить эти индексные номера элементов в новый список и распечатать его.

Дело в том, что ошибка говорит, что 'a' не определено, но если я определю его перед циклом for, как это:

а = []

или

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 голосов
/ 23 апреля 2019

Вместо

a[k]= c

Вы можете использовать

a.append(c)
0 голосов
/ 23 апреля 2019

Список в Python не поддерживает назначение индекса. - Поэтому индексы всегда будут числовыми в зависимости от позиции 0, 1, n.

Чтобы добавить, используйте append, чтобы иметь хеш-карту, используйте dict.

...