用字典切片NumPy数组

时间:2017-01-18 22:22:21

标签: python numpy dictionary slice

是否有一个简单的选项可以使用预定义的索引字典对NumPy数组进行切片?

例如:

>> a = array([3, 9, 1, 5, 5])

和(虚构)字典:

>> index_dict = {'all_except_first': (1:None), 'all_except_last': (None:-1)}

然后:

>> a[index_dict['all_except_first']]
>> array([9, 1, 5, 5])
>> a[index_dict['all_except_first']]
>> array([3, 9, 1, 5])

使用名称而不是数字进行切片。

1 个答案:

答案 0 :(得分:3)

创建slice s:

>>> index_dict = {'all_except_first': slice(1, None), 'all_except_last': slice(None, -1)}
>>>
>>> a[index_dict['all_except_first']]
array([9, 1, 5, 5])
>>> a[index_dict['all_except_last']]
array([3, 9, 1, 5])