1
В чем разница междуРазличные итераторы дают мне разные ответы
for i in range(0,3): print cons[i]['fun'](x0)
и
for f in cons: print f['fun'](x0)
где минусы определяется следующим образом
A = np.asmatrix([[1,0,0],[0,1,0],[0,0,1]])
x0 = np.asarray([1,2,0])
cons = list()
for i in range(0,3): cons.append({'fun':lambda x: np.dot(A[i],x)})
Спасибо! который зафиксировал это. Итак, если я правильно понимаю это, каждый раз, когда «i» увеличивает его, он обновляет «A [i]» для предыдущей записи в списке? – user2546580
@ user2546580 вы можете принять ответ ... –
Принятие было бы неплохо, но есть открытый вопрос; вот мой ответ: Да. Все созданные вами lambdas зависят от переменной с именем 'i', которую они не удерживают. Значение «i» в окружающей области определяет результат во время оценки. Если в это время в окружающем пространстве нет 'i', вы получите исключение. – Alfe