gpt4 book ai didi

python - 将切片索引存储为对象

转载 作者:太空宇宙 更新时间:2023-11-03 16:00:06 25 4
gpt4 key购买 nike

假设我有一个列表列表等......具有一定深度:

ExampleNestedObject = numpy.ones(shape = (3,3,3,3,3))

一般来说,我可以通过编写以下内容来获取元素:

#Let:
#a, b, c, d, e -> are integers

print ExampleNestedObject[a][b][c][d][e]

#numpy also happens to allow:

print ExampleNestedObject[(a,b,c,d,e)]

#python in general allows:

print ExampleNestedObject[a,b,:,d,e]

我的问题是 -> 如何将索引“a,b,:,d,e”存储为对象?

SomeSliceChoice = a,b,:,d,e

print ExampleNestedObject[SomeSliceChoice]

最佳答案

诀窍是将索引对象视为切片对象的元组。

示例1:

Object[1,2,:] == Object[(1,2,slice(None,None,None))]

示例2:

WantedSliceObject = (1,2,slice(None,None,None), 4,5)
Object[1,2,:,4,5] == Object[WantedSliceObject]

注意 '''slice 的语法:

#slice(start, stop[, step])

#1 == slice(1, 2, 1)

WantedSliceObject2 = (
slice(1, 2, 1),
slice(2, 2, 1),
slice(None,None,None),
slice(4, 2, 1),
slice(5, 2, 1)
)

#WantedSliceObject2 == WantedSliceObject

关于python - 将切片索引存储为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40392885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com