python 3矢量减去没有numpy

时间:2018-06-21 19:45:59

标签: python-3.x

我对使用python3语言进行编码非常陌生。我正在尝试构造一个函数,将两个向量相减。任何帮助都会很棒。预先谢谢你。

编写一个函数vecSubtract(vector01,vector02),该函数接受两个向量作为参数,并返回等于vector01-vector02的向量。

def vecSubtract(vector01,vector02):
    for i in range(min(len(vector01), len(vector02))):
        result = [vector01[i]-vector02[i] ]
    return result
vector01 = [3, 3, 3]
vector02 = [4, 4, 4]

print(vecSubtract(vector01,vector02))

1 个答案:

答案 0 :(得分:0)

当您遍历向量(实际上是列表)时,每次都覆盖结果变量。

您可能想使用列表推导。

def vecSubtract(vector01, vector02):
    result = [vector01[i] - vector02[i] for i in range(min(len(vector01), len(vector02)))]
    return result

vector01 = [3, 3, 3]
vector02 = [4, 4, 4]

print(vecSubtract(vector01,vector02))

如果您确实要使用for循环,则应使用result.append()而不是每次都覆盖变量。

此外,通过忽略较长向量中的多余元素,可能不允许对不同长度的向量进行减法运算。相反,您可能应该测试两个向量的长度是否相同,如果不是,则让脚本抛出错误。