Python – Zrozumienie notacji wycinków (slice notation)

W tym artykule postaram się w kilku prostych przykładach wyjaśnić na czym polegają notacje wycinków.

Zacznijmy od prostych przykładów

a[start:stop] # elementy zaczynają się od stop-1
a[start:] # elementy zaczynają się od start do końca tablicy/liście
a[:stop] # elementy zaczynają się od początku tablicy/liście do stop-1
a[:] # kopia całej tablicy/listy

Istnieje również wartość kroku, której można użyć z dowolnym z powyższych:

a[start:stop:step] # element początkowy do elementu stop przez wyznaczony krok (np. co 2 elementy)

Kluczową kwestią do zapamiętania jest to, że wartość :stop reprezentuje pierwszą wartość, której nie ma w wybranym wycinku. Tak więc różnica między stop i start to liczba wybranych elementów (gdzie step (krok) to domyślnie 1).

a[-1] # ostatni element tablicy/listy
a[-2:] # wycinek dwóch ostatnich elementów w tablicy/liście
a[:-2] # wszystko oprócz dwóch ostatnich elementów tablicy/listy

Podobnie step (krok) może być liczbą ujemną:

a[::-1] # wszystkie pozycje w tablicy, odwrócone
a[1::-1] # pierwsze dwie pozycje, odwrócone
a[:-3:-1] # ostatnie dwie pozycje, odwrócone
a[-3::-1] # wszystko oprócz dwóch ostatnich pozycji, odwrócone

 

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *