Учимся быть pythonic в 2.7. Есть ли способ избежать явного цикла? answer = [5, 4, 4, 3, 3, 2]
Есть ли более питонический способ написать
import numpy as np
import scipy.special as spe
nmax = 5 # n = 0, 1 ...5
mmax = 7 # m = 1, 2 ...7
big = 15.
z = np.zeros((nmax+1, mmax))
for i in range(nmax+1):
z[i] = spe.jn_zeros(i, mmax)
answer = [np.max(np.where(z[i]<big))+1 for i in range(nmax+1)]
print answer # list of the largest m for each n where the mth zero of Jn < big
@twasbrillig поймал ошибку, включило исправление nmax -> nmax + 1, затем удалил +1 из mmax, где он был неправильно применен. – uhoh
... и я добавил разъяснения. n = 0 относится к J0 и т. д., и помните, что первый нуль не тот, который находится в начале координат (при n> 0). – uhoh