Mis*_*cht 9 python indexing tuples slice
我需要获得任意大小的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])
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助
Sve*_*ach 19
我不知道有什么不对
(s[0], s[-1])
Run Code Online (Sandbox Code Playgroud)
另一种选择是使用operator.itemgetter():
from operator import itemgetter
itemgetter(0, -1)(s)
Run Code Online (Sandbox Code Playgroud)
不过,我认为这不会更好.(如果不计算实例化itemgetter实例所需的时间,可能会稍快一些,如果经常需要这个操作,可以重复使用.)
小智 5
这么晚才遇到;但是,只是添加前面提到的非索引方法。
元组解包可以很容易地应用于获取第一个和最后一个元素。注意:下面的代码使用特殊的星号“*”语法,它返回中间部分的列表,其中 a 和 c 存储第一个和最后一个值。
前任。
A= (3,4,4,4,4,4,4,3)
a, *b, c = A
print((a, c))
Run Code Online (Sandbox Code Playgroud)
输出 (3, 3)