Вы делаете что-то вроде этого:
In [336]: x = np.arange(3)
...: alist = []
...: for i in x:
...: for j in range(2):
...: alist.append(np.exp(x).sum())
...:
In [337]: alist
Out[337]:
[11.107337927389695,
11.107337927389695,
11.107337927389695,
11.107337927389695,
11.107337927389695,
11.107337927389695]
это помещает одно и то же значение в alist
каждый раз. Цикл ничего нового не делает:
In [338]: np.exp(x).sum()
Out[338]: 11.107337927389695
Вместо этого вы можете использовать i
, переменную итерации в l oop:
In [339]: x = np.arange(3)
...: alist = []
...: for i in x:
...: alist.append(np.exp(i))
...:
In [340]: alist
Out[340]: [1.0, 2.718281828459045, 7.38905609893065]
Но поскольку np.exp
работает с массив, итерировать не нужно.
In [341]: np.exp(x)
Out[341]: array([1. , 2.71828183, 7.3890561 ])
Как я покажу, вам нужно поэкспериментировать с некоторыми базовыми c Python циклами и детально проверить результаты. Не пишите большой сценарий, а затем почесывайте голову, если результаты не верны. Испытайте образцы и убедитесь, что вы понимаете каждый шаг.