创建多个向量

时间:2012-03-08 02:33:37

标签: python vpython

所以我想说我有一个数字列表,我想以形式(x,0,0)创建所有数字的向量。我该怎么做?

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

因此,当我访问hello[2]时,我得到(3, 0, 0)而非3

3 个答案:

答案 0 :(得分:1)

如果你正在使用向量,最好使用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])

答案 1 :(得分:1)

这应该有效

hello = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
new_hello = [(n, 0, 0) for n in hello]

答案 2 :(得分:1)

尝试使用numpy - "使用Python"进行科学计算的基础包:

import numpy as np
hello = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
hello = [np.array([n, 0, 0]) for n in hello]

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

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

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