Почему я получаю эту IndexError - PullRequest
0 голосов
/ 09 апреля 2020
a = [1,2,1,5]

b = [1,1,5]

c = [a[index] for index in b]  
print(c)

и я получил эту ошибку:

IndexError
Traceback (most recent call last)
<ipython-input-158-e03093b57c86> in <module>

    2 b=[1,1,5]
      3 index=0
----> 4 c=[a[index] for index in b]
      5 c

<ipython-input-158-e03093b57c86> in <listcomp>(.0)

    2 b=[1,1,5]
      3 index=0
----> 4 c=[a[index] for index in b]
      5 c

IndexError: list index out of range

1 Ответ

0 голосов
/ 09 апреля 2020

Причина, по которой вы получаете это, заключается в том, что ваш список b имеет номер 5, а ваш список a имеет длину 5 и, следовательно, имеет максимальный индекс 4, поскольку индексация начинается с 0.

Поэтому, когда вы пытаетесь получить значение из списка a по индексу 5, нет такого значения, которое приводит к ошибке: list index out of range

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...