因此,讓我們說我有一個數字列表,我想創建一個向量中的所有形式(x,0,0)。我將如何做到這一點?創建多個向量
hello = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
所以,當我訪問,比方說,hello[2]
我得到(3, 0, 0)
而不是僅僅3
。
因此,讓我們說我有一個數字列表,我想創建一個向量中的所有形式(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 = [np.array([n, 0, 0]) for n in hello]
以上將產生您期望的結果:
>>> hello[2]
array([3, 0, 0])
>>> hello[2] * 3
array([9, 0, 0])
太棒了,謝謝! – 2012-03-08 03:55:40
只是一個評論:你的例子其實並沒有使用任何numpy的功能,所以只需要用純Python就可以完成:hello = [1,2,3,4,5];你好= [[n,0,0]爲你好]。之後只有乘法才需要使用numpy。 – 2012-04-18 23:00:13
如果您正在使用矢量工作時,最好使用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])
太棒了!謝謝! – 2012-03-08 03:55:59
這應該工作
hello = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
new_hello = [(n, 0, 0) for n in hello]
您是否確實希望能夠使用該語法? – prelic 2012-03-08 02:35:47
例如,我希望能夠將hello [2](它應該是一個向量)乘以另一個向量。 – 2012-03-08 02:37:27
如果你想繁殖矢量,你應該使用numpy,如果你可以 – 2012-03-08 02:41:16