1

数値のリストがあり、それらすべてから (x, 0, 0) の形式でベクトルを作成したいとします。どうすればいいですか?

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

したがって、アクセスすると、たとえば、の代わりにhello[2]を取得します。(3, 0, 0)3

4

3 に答える 3

1

ベクトルを使用している場合は、Pythonではサポートされていない多くのベクトル演算をサポートしているnumpyを使用するのが最適です。

>>> 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-08T02:47:13.470 に答える
1

これはうまくいくはずです

hello = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
new_hello = [(n, 0, 0) for n in hello]
于 2012-03-08T03:03:34.620 に答える
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])
于 2012-03-08T03:14:04.143 に答える