Py学习  »  Python

python中矩阵的操作:将元素的右边和底部的值添加到该元素中

user11114474 • 5 年前 • 1518 次点击  

我对编码很陌生,所以请容忍我。

假设我有一个二维列表 M = [[3, 0, 2, 18],[-1, 1, 3, 4],[-2, -3, 18, 7]] 表示矩阵的方法

[3, 0, 2, 18]
[-1, 1, 3, 4]
[-2, -3, 18, 7]

我希望通过将值添加到元素的右侧和底部来查找每个元素的编译值(cv)

例如

Cv[2,3]给出了7+0+0=7,因为它的右边和底部没有元素

Cv[1,3]给我4+7+0=11,因为它右边没有单元格

Cv[2,2]给我18+0+7=25

Cv[1,2]表示1+25+11=39

求解的矩阵是

[2161327029]

〔81,62,39,11〕

[20,22,25,7]

我怎么知道[0,0]的简历?我设法找到了基列的简历,但之后就变得太乱了。有更好的办法吗?我在寻找一种迭代和递归的方法。谢谢您!

def cv_iterative(m):
    #first row
    matrixnew = []
    total = 0
    base = reversed(m[len(m) - 1])
    baseresult = (list(accumulate(base)))
    basenew = []
    for i in baseresult:
        basenew.append(i)
    basenew = reversed(basenew)
    matrixnew.append(list(basenew))```


  [1]: https://i.stack.imgur.com/sjIk2.png
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/40669
 
1518 次点击  
文章 [ 1 ]  |  最新文章 5 年前