假设我有一个函数调用f(m1)
,其中m1
是一个numpy矩阵。现在,我想在与 m1
几乎相同的矩阵上调用 f
:
m2 = m1.copy()
m2[ 2, 7 ] = 43 # or m2[ 2, 7 ] += 43
f(m2)
是否有一个优雅的 f( ... )
单行代码可以做到这一点?
最佳答案
在Python中,每个赋值都是一个语句而不是一个表达式,所以你不能这样做 -
f(m2[2,7] = 43)
或
如果 (a = 1+2)
我相信你能做到
f( modify_matrix(m1) )
并定义一个单独的方法来修改 m1 矩阵。
def modify_matrix(m1):
m1[2,7] = 2
return m1
但是,如果您只需要添加一行修改矩阵,那么上述选项会更复杂。
关于更新 numpy 矩阵的单个元素的 Pythonic 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20142545/