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)})
谢谢!修复它。 因此,如果我正确地理解了这一点,每次'我'增加它更新列表中的前一个条目'A [i]'以及? – user2546580
@ user2546580你可以接受答案... –
接受会很好,但有一个悬而未决的问题;这里是我的回应:是的。你创建的所有lambda表达式都依赖于一个名为'i'的变量,它们不保存它们。周围范围中'i'的值决定了评估时的结果。如果此时在周围范围内没有'i',则会发生异常。 – Alfe