【问题标题】:How to multiply a vector by a scalar in python?如何在python中将向量乘以标量?
【发布时间】:2020-08-19 21:27:44
【问题描述】:

我想将向量乘以标量乘以 cicle,即: x1=[2,3,4,5] 我想把它乘以 2,这样我就得到了,x1=2(x2)x2=[4,6,8,10]。 我试过这样做:

def multiplicar_vector(x1):
    x2=[]
    for i in x1:
        x2[i] = (x1[i])*2
    print(x2)

但它不起作用。

【问题讨论】:

标签: python


【解决方案1】:

如果您想使用纯 Python,您可能会使用列表推导式。

x1 = [item * 2 for item in x2]

这是将 x2 中的每个项目乘以 2。方括号表示您要列出结果。相当于:

x1 = []
for item in x2:
    x1.append(item * 2)

实际上,大多数人在处理大量向量时会使用 numpy,因为它更快更容易。

import numpy as np

x1 = np.array([1, 2, 3, 4])
x2 = 2 * x1

【讨论】:

    【解决方案2】:

    您可以遍历每个项目并将其相乘

    x1=[2,3,4,5]
    N=2
    x2 = [ x * N for x in x1]
    print(x2)
    

    如果您想使用预定义的包。将列表向量类型转换为 numpy 向量数组类型并相乘。

    import numpy as np
    x1=[2,3,4,5]
    N=2
    my_array = np.array(x1)
    x2 = my_array * N
    print(x2)
    

    【讨论】:

      【解决方案3】:

      有一个 python 包可以很好地做到这一点:numpy

      import numpy as np
      
      x2  = np.array(x1)*2
      

      【讨论】:

      • 非常感谢您
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-04
      • 1970-01-01
      • 2012-02-23
      • 2018-08-02
      • 2017-02-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多