如何同时获取元组的第一个和最后一个元素

2024-04-26 14:29:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要得到任意大小的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])

谢谢你的帮助


Tags: numpyresult元组ndarrayshape
3条回答

如果您使用的是numpy数组,那么您可以这样做

s = numpy.array([3,4,4,4,4,4,4,3])
result = s[[0,-1]]

其中[0,-1]是第一个和最后一个元素的索引。它还允许更复杂的提取,例如s[2:4]

我不知道怎么了

(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]

相关问题 更多 >