0

与えられたnumpy配列:

a = arange(10,20,1)

配列の最初と最後の要素を含むタプルが必要になることがよくあります。

w = a[0],a[-1]

への単一の参照でこれを行うための便利な python スライス ショートカットはありaますか?

4

3 に答える 3

5

はい、Numpy の高度なインデックス作成を使用します:

w = a[[0, -1]]
于 2012-10-11T03:17:55.247 に答える
2

多分あなたがしたい:

a[::len(a)-1]

これは、最初から最後までスライスを提供するように指示します。「ステップ」値は配列の長さより1つ小さくなります(最初の値を取得し、len(a)-1後でインデックスである値を取得します。これが最後の値です) )。

numpyでうまくいくようです:

>>> import numpy
>>> a = numpy.arange(10, 20, 1)
>>> a
array([10, 11, 12, 13, 14, 15, 16, 17, 18, 19])
>>> a[::len(a)-1]
array([10, 19])
>>> tuple(a[::len(a)-1])
(10, 19)
于 2012-10-11T03:12:17.357 に答える
2

簡単に1つ作れます

>>> from operator import itemgetter
>>> from numpy import arange
>>> a = arange(10,20,1)
>>> first_and_last = itemgetter(0, -1)
>>> first_and_last(a)
(10, 19)
于 2012-10-11T03:16:27.353 に答える