Python 创建多个向量

Python 创建多个向量,python,vpython,Python,Vpython,假设我有一个数字列表,我想用它们的形式(x,0,0)创建一个向量。我该怎么做 hello = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 因此,当我访问时,比如说,hello[2]我得到的是(3,0,0),而不是3,如果您使用的是向量,最好使用numpy,因为它支持Python不支持的很多向量操作 >>> import numpy as np >>> hello = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9,

假设我有一个数字列表,我想用它们的形式(x,0,0)创建一个向量。我该怎么做

hello = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

因此,当我访问时,比如说,
hello[2]
我得到的是
(3,0,0)
,而不是
3

,如果您使用的是向量,最好使用numpy,因为它支持Python不支持的很多向量操作

>>> import numpy as np
>>> hello = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
>>> hello = (hello*np.array([(1,0,0)]*10).transpose()).transpose()
>>> hello[2]
array([3, 0, 0])
>>> hello[2]*3
array([9, 0, 0])
这应该行得通

hello = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
new_hello = [(n, 0, 0) for n in hello]
尝试使用“Python科学计算的基本包”:

以上内容将产生您期望的结果:

>>> hello[2]
array([3, 0, 0])

>>> hello[2] * 3
array([9, 0, 0])

你真的想使用这种语法吗?例如,我想让hello[2](应该是向量)乘以另一个向量。如果你想乘以向量,你应该使用numpy,如果你只需要一条注释:你的示例实际上没有使用任何numpy功能,所以纯Python也可以这样做:hello=[1,2,3,4,5];hello=[[n,0,0]表示hello中的n]。只有之后的乘法需要使用numpy。
>>> hello[2]
array([3, 0, 0])

>>> hello[2] * 3
array([9, 0, 0])