TypeError:zip参数#1必须支持迭代(Ipython的矢量和)

时间:2015-06-16 03:45:12

标签: python vector ipython linear-algebra ipython-notebook

您好我正在关注“Scratch数据科学”,当我制作矢量和功能时出错了。有人可以帮忙吗?

代码:

writes

错误:

a = [1,2,3]
b = [2,3,4]

def vector_add(v, w):
    """adds two vectors componentwise"""
    return [v_i + w_i for v_i, w_i in zip(v,w)]
vector_add(a,b) #prints [3, 5, 7]

def vector_sum(vectors):
    result = vectors[0]
    for vector in vectors[1:]:
        result = vector_add(result, vector)     
    return result
vector_sum(a)

1 个答案:

答案 0 :(得分:0)

如果您执行vector_sum(a),则第一步中的局部变量 result 将是整数“1”,这是不可迭代的。所以我想你应该简单地调用你的函数vector_sum

vector_sum([a,b,a])

总结多个向量。后者在我的机器上提供[4,7,10]

如果您想总结一个向量的组件,则不应使用vector_add函数。