【问题标题】:Matrix elements addition with this way用这种方式添加矩阵元素
【发布时间】:2020-02-15 09:36:47
【问题描述】:

我写了这段代码来用这种方式添加元素我的问题是我想用更大的矩阵来应用它

zz=[[1,2],[3,4]]
for i in range(len(zz[0])):
    x=zz[0][i]
    for i in range(len(zz[1])):
        xx=x+zz[1][i]
        print(xx)

输出将是:

z[0][0]+z[1][0]
z[0][0]+z[1][1]
z[0][1]+z[1][0]
z[0][0]+z[1][1]

【问题讨论】:

  • 所以您想要子列表中所有元素组合的总和?你能举一些更具体的例子来说明更大矩阵的输出是什么?
  • 我想要的输出是:1+3 1+4 2+3 2+4 等等,更大的矩阵是不是很清楚?
  • 很清楚你想要什么。您对案例 [[1, 2], [3, 4], [5, 6]] 有什么要求?

标签: python-3.x matrix addition


【解决方案1】:

您可以为此使用递归:

def sum_combinations(matrix):
    head, *tail = matrix
    if not tail:  # we reached the last row
        yield from head
        return
    for number in head:
        for other in sum_combinations(tail):
            yield number + other

这应该适用于任何大小的矩阵。

用法:

for sum_ in sum_combinations(zz):
    print(sum_)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-04
    • 1970-01-01
    • 1970-01-01
    • 2013-11-18
    • 1970-01-01
    • 2014-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多