Python - индексирование списка - PullRequest
0 голосов
/ 29 октября 2018

Я пытаюсь конвертировать рабочий код Matlab. Вот что у меня есть:

d=[0.004398047,0.123]
m=[0.071,0.123]
x=[]
indices=[1,2,3]
for i in indices:
   print(i)
   if d[i]==0.0:
     print (d[i])
     x.append(m[i])
   else:
    print('else',i)
    x.append(m[i]+d[i]* ny.random.normal(0, 0.1, 1))

Запустив его, я получаю «IndexError: список индекса вне диапазона». Почему это происходит?

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

Ваша ошибка в массиве indices. Цикл for начинается с 0, а массивы d и m имеют только 2 элемента. Изменить массив индексов с помощью:

indices=[0,1]
0 голосов
/ 29 октября 2018

Индексы d варьируются от 0 до 1. Вы пытаетесь 1, 2 и 3.

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