Mam 1-D numpy tablicy a = [1,2,3,4,5,6]
i funkcję, która dostaje dwa wejścia, starting_index
i ending_index
i zwraca a[staring_index:ending_index]
.indeksy okrągłych numpy tablicy
Najwyraźniej napotykam problemy, gdy ending_index
jest mniejszy niż starting_index
. W takim przypadku funkcja powinna rozpoczynać się od początkowego indeksu i przechodzić po nim w kierunku kołowym, tj. Zwracać wszystkie elementy przychodzące po starting_index
oraz wszystkie elementy od zera indeksu do ending_index
.
Na przykład, jeśli starting_index=4
i ending_index=1
, wyjście powinno być output = [5,6,1]
. Mogę go wdrożyć z warunkiem if
, ale zastanawiałem się, czy istnieje jakiś Pythoniczny i zwięzły sposób na zrobienie tego?
Wydaje związane: https://scimusing.wordpress.com/2013/10/25/ring-buffers-in-pythonnumpy/ – endolith