NumPy slice notation in a dictionary
我想知道是否可以在Python字典中存储numpy slice符号。比如:
1 2 3 | lookup = {0:[:540], 30:[540:1080], 60:[1080:]} |
可以使用本机python slice语法,例如
我目前的工作是将值存储为元组,然后将其解包到必要的片中。
在python 2.x中工作。
语法
1 2 3 4 | (slice(None, None, None), slice(None, 2, None), slice(None, None, None), slice(None, 540, None)) |
生成这个元组的一个方便方法是使用特殊函数*
1 2 3 4 5 6 7 | >>> np.s_[:540] slice(None, 540, None) >>> np.s_[:, :2, :, :540] (slice(None, None, None), slice(None, 2, None), slice(None, None, None), slice(None, 540, None)) |
号
那么你的切片词典可以写成:
1 2 3 | lookup = {0: np.s_[:540], 30: np.s_[540:1080], 60: np.s_[1080:]} |
*从技术上讲,
numpy有很多索引例程。在这种情况下,可以使用以下函数生成索引数组:
您也可以使用
Converts a tuple of index arrays into an array of flat indices, applying boundary modes to the multi-index.
号