Поиск примера, соответствующего определению базового среза в справочнике numpy

#python #python-3.x #numpy #numpy-ndarray

#python #python-3.x #numpy #numpy-ndarray

Вопрос:

Базовый срез всегда возвращает a, view согласно ссылке Numpy, и его более подробное определение скопировано ниже:

Базовая нарезка расширяет базовую концепцию Python о нарезке до N измерений. Базовый срез происходит, когда obj является объектом среза (созданным с помощью нотации start: stop: step внутри скобок), целым числом или набором объектов среза и целых чисел. Объекты Ellipsis и newaxis также могут перемежаться с ними.

Что меня беспокоит, так это выделенная жирным шрифтом часть. Я пытался найти пример, соответствующий определению выделенной жирным шрифтом части, но безрезультатно. Неудачные примеры показаны ниже:

 import numpy as np

y = np.array(
    [ [f"y[{r},{c}]" for c in range(5)]
    for r in range(6)]
)

def check_is_view(arr1, arr2):
    try:
        if arr2.base is arr1:
            return True
        elif np.may_share_memory(arr1, arr2):
            return True
        return False
    except AttributeError:
        return False

## tuples of integers
print("print(y[(0,1), (3,4)]):")
print(check_is_view(y, y[(0,1), (3,4)])) #return False which means not a view

## a slice object    a tuple of integers    
print("print(y[slice(0,2), (3,4)]:")
print(check_is_view(y, y[slice(0,2), (3,4)])) #return False which means not a view
  

Что означает выделенная жирным шрифтом часть? Какие примеры для выделенной жирным шрифтом части?

Комментарии:

1. Имеющийся у вас код отлично работает, если вы передаете ему массивы. a =np.array((1,2)) b = a[1:1] print(check_is_view(a, b))

2. @ggorlen упускает y . Обновлено.

3. x[1, 2:6, np.newaxis] является эквивалентом x[(1, slice(2,6), np.newaxis)] . В python кортеж создается запятой, () которая просто добавляет ясности.

4. @hpaulj Хорошо, это объясняет значение «кортежа объектов среза и целых чисел», если то, что вы утверждаете, действительно верно. Очень запутанный, когда я просто читаю текст.