任意のサイズの numpy.ndarray の最初と最後の次元を取得する必要があります。
shape(A) = (3,4,4,4,4,4,4,3)
私の最初のアイデアがあればresult = shape(A)[0,-1]
、それはタプルでは機能しないようですが、なぜですか??
これよりもきちんとした方法はありますか
s=shape(A)
result=(s[0], s[-1])
助けてくれてありがとう
何がいけないのかわからない
(s[0], s[-1])
別のオプションは、次を使用することoperator.itemgetter()
です。
from operator import itemgetter
itemgetter(0, -1)(s)
私はこれがより良いとは思わない。(インスタンスのインスタンス化に必要な時間を計算しないとitemgetter
、この操作が頻繁に必要な場合に再利用できるため、わずかに高速になる可能性があります。)
s = (3,4,4,4,4,4,4,3)
result = s[0], s[-1]
numpy 配列を使用している場合は、それを行うことができます
s = numpy.array([3,4,4,4,4,4,4,3])
result = s[[0,-1]]
ここ[0,-1]
で、最初と最後の要素のインデックスです。また、次のようなより複雑な抽出も可能です。s[2:4]