Jak pokroić listę w Pythonie (indeksy, kroki i odwrócenie)
Dowiedz się, jak dzielić listy w Pythonie, korzystając z zaawansowanej składni nawiasów. Opanuj argumenty startu, stopu i kroku, indeksowanie ujemne i listy odwracania.
Przegląd
Krojenie to jedna z najbardziej intuicyjnych i potężnych funkcji języka Python, umożliwiająca wyodrębnianie podzbiorów listy, krotki lub ciągu znaków przy użyciu przejrzystej i zwięzłej składni. Zamiast pisać pełne pętle w celu skopiowania określonych elementów z listy, notacja plasterków w Pythonie pozwala określić zakres indeksów w nawiasach kwadratowych.
Pełna składnia dzielenia listy to `moja_lista[start:stop:krok]`. Indeks `start` ma charakter włączający, indeks `stop` ma charakter wyłączny, a `step` określa przyrost pomiędzy elementami (domyślnie 1). Jeśli pominiesz „start”, Python domyślnie ustawi się na początek listy. Jeśli pominiesz „stop”, Python domyślnie wyświetli koniec listy. Dzięki temu wyodrębnianie fragmentów kolekcji jest bardzo wyraziste.
Krojenie jest również niezwykle wszechstronne, ponieważ obsługuje indeksy ujemne. Ujemny indeks początkowy lub końcowy jest liczony wstecz od końca listy (gdzie „-1” oznacza ostatni element). Ustawiając ujemną wartość kroku, np. `moja_lista[::-1]`, możesz szybko pobrać odwróconą kopię listy. Zrozumienie zakresów wycinków jest niezbędne do czystej ekstrakcji danych.
Dane wyjściowe kodu i wykonania
Ten skrypt demonstruje dzielenie listy przy użyciu różnych punktów początkowych, końcowych, zakresów kroków, indeksowania ujemnego i odwracania listy.
numbers = [0, 10, 20, 30, 40, 50, 60, 70, 80]
# 1. Basic slicing: elements from index 2 up to (but excluding) 6
subset = numbers[2:6]
print("Subset [2:6]:", subset)
# 2. Omitting indices: start to index 4, and index 5 to end
first_five = numbers[:5]
last_four = numbers[5:]
print("First five [:5]:", first_five)
print("Last four [5:]:", last_four)
# 3. Using a step parameter: get every second element
every_second = numbers[::2]
print("Every second [::2]:", every_second)
# 4. Negative indexing: get the last three elements
last_three = numbers[-3:]
print("Last three [-3:]:", last_three)
# 5. Reverse the list using step=-1
reversed_numbers = numbers[::-1]
print("Reversed list [::-1]:", reversed_numbers)Subset [2:6]: [20, 30, 40, 50]
First five [:5]: [0, 10, 20, 30, 40]
Last four [5:]: [50, 60, 70, 80]
Every second [::2]: [0, 20, 40, 60, 80]
Last three [-3:]: [60, 70, 80]
Reversed list [::-1]: [80, 70, 60, 50, 40, 30, 20, 10, 0]Wdrażanie krok po kroku
- Użyj listy[start:stop], aby wyodrębnić elementy z indeksu start do, ale nie włączając, stop.
- Pomiń indeksy początkowe lub końcowe (np. lista[:4] lub lista[4:]), aby odciąć się od granicy listy.
- Przekaż trzeci argument wewnątrz listy nawiasów[::step], aby pomijać elementy w regularnych odstępach czasu.
- Użyj indeksów ujemnych, aby zliczyć elementy wstecz od końca kolekcji.
Często zadawane pytania
Czy krojenie modyfikuje oryginalną listę?
Nie, podział listy zwraca płytką kopię żądanego zakresu, pozostawiając oryginalną listę całkowicie niezmienioną.
Co się stanie, jeśli indeksy plasterków znajdą się poza dopuszczalnym zakresem?
W przeciwieństwie do uzyskiwania dostępu do pojedynczego indeksu, który wywołuje błąd IndexError, cięcie na kawałki wybacza błędy i po prostu ogranicza zakres na granicach listy, zwracając pustą listę, jeśli żaden element nie mieści się w zakresie.
Powiązane tematy
Dowiedz się, jak skopiować listę w Pythonie. Poznaj dzielenie list, metodę copy(), konstruktory list i opanuj różnicę między płytkimi i głębokimi kopiami.
Jak odwrócić ciąg znaków w PythonieDowiedz się, jak odwrócić ciąg znaków w Pythonie za pomocą krojenia, funkcji Reversed() i łączenia pętli z przykładami kodu wizualnego.
Jak znaleźć długość listy w PythonieDowiedz się, jak znaleźć długość listy w Pythonie za pomocą funkcji len(). Zrozumienie złożoności czasowej O(1) i liczby kontroli.
Polecane zasoby Pythona
Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.
Wyjaśnienie zmiennych i typów danych w Pythonie
Zrozumienie zmiennych Pythona i podstawowych typów danych (łańcuchy, liczby całkowite, zmiennoprzecinkowe, wartości logiczne). Kompletny przewodnik dla początkujących dotyczący przydzielania pamięci w Pythonie.
Ściągawka dotycząca metod listy Pythona
Skrócona instrukcja obsługi operacji na listach w języku Python. Opanuj dodawanie, wstawianie, usuwanie, sortowanie i cięcie elementów.
Python kontra JavaScript: który język programowania jest najlepszy?
Kompleksowe porównanie Pythona i JavaScript. Poznaj różnice w składni, wydajność, przypadki użycia (backend vs frontend) i przykłady kodowania.