【问题标题】:Python matrix addition without importing numpy不导入numpy的Python矩阵加法
【发布时间】:2018-03-11 17:20:57
【问题描述】:

我一直在尝试通过使用 2 个 for 循环来添加 2 个矩阵,但我不断收到错误消息:'int' object is not iterable 在行 for i in len(B): 中。我做错了什么?

def add (A,B):
    for i in len(B):
        for j in len(A):
            A[j][i] += B[i]
    return A

A = [[2, 8], [3, 7], [4, 5]]
B = [1, 2]
A = add(A,B)
print(C)

【问题讨论】:

  • 我是range(len(B))

标签: python arrays matrix multidimensional-array


【解决方案1】:

len(b) 产生一个intYou can't iterate over an int.。要生成ints 到len(b) 的序列,请使用range.

def add (A,B):
    for i in range(len(B)):
        for j in range(len(A)):
            A[j][i] += B[i]
    return A

A = [[2, 8], [3, 7], [4, 5]]
B = [1, 2]
A = add(A,B)
print(C)

【讨论】:

    【解决方案2】:

    您需要一个可迭代对象在for 循环中进行迭代。 len() 返回一个不可迭代的 int

    请参阅this 帖子。

    尝试使用range() 代替

    for i in range(len(B)):
        for j in range(len(A)):
            A[j][i] += B[i]
    

    【讨论】:

      猜你喜欢
      • 2016-01-24
      • 2015-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-28
      • 2014-09-22
      • 2012-05-27
      • 1970-01-01
      相关资源
      最近更新 更多