在矩阵中,通过什么命令可以向上移动到矩阵的某个元素>例如,让矩阵为
A= [[ 0. 1. 0. 0. 0. 2. 2. 0. 0. 0. ]
[ 3. 0. 0. 0. 0. 0. 0. 0. 4. 4. ]
[ 0. 0. 5. 5. 5. 5. 5. 0. 4. 0. ]
[ 0. 0. 5. 0. 0. 0. 5. 0. 0. 0. ]
[ 0. 6. 0. 7. 0. 5. 5. 0. 9. 0. ]
[ 6. 6. 6. 6. 5. 5. 0. 9. 9. 9. ]
[ 0. 6. 0. 0. 5. 0. 0. 9. 9. 9. ]]
在第一步中(没有迭代),如果我想使用for循环将所有6和7都设为5,那么该怎么办?使用的编程语言是Python。
答案 0 :(得分:0)
您的问题太笼统了,如果您试图找到一种更新值的方法,这是使用numpy的方法
import numpy as np
A= [[ 0. ,1., 0., 0. ,0., 2., 2., 0. ,0., 0. ],
[ 3. ,0., 0., 0., 0., 0.,0., 0. ,4., 4. ],
[ 0., 0., 5., 5., 5., 5., 5., 0., 4., 0. ],
[ 0., 0., 5., 0., 0., 0., 5., 0., 0., 0. ],
[ 0., 6., 0., 7., 0., 5., 5., 0., 9., 0. ],
[ 6., 6., 6., 6., 5., 5., 0., 9., 9., 9. ],
[ 0. ,6., 0., 0., 5., 0., 0., 9., 9., 9. ]]
a = np.asarray(A)
print(np.where(a==6., 5, a)) #chaging all 7 and 6 to 5
print(np.where(a==7., 5, a))
请查看您的问题
答案 1 :(得分:0)
您可以通过列表理解来实现
B = [ [5 if n in [6,7] else n for n in row] for row in A ]