Wyjaśnienie lekcji
Po tej lekcji będziesz potrafić:
len() do zliczania elementów i rozumieć granice poprawnych indeksów.Listy w Pythonie przechowują uporządkowane wartości w nawiasach kwadratowych. Jeśli znasz tablice z JavaScriptu lub Javy, pomysł jest znajomy — ale listy Pythona mogą rosnąć i zawierać różne rodzaje wartości. Skupimy się tutaj na prostych listach powiązanych wartości.
services = ["api", "worker", "database"]Indeks zaczyna się od 0, więc services[0] to pierwsza wartość. Indeksy ujemne liczą od końca: services[-1] to ostatnia wartość, niezależnie od długości listy.
Listy są modyfikowalne (mutable): przypisanie do istniejącej pozycji zmienia ten element. Przypisanie musi używać poprawnego indeksu. Dla listy z trzema elementami indeksy dodatnie to 0, 1 i 2; 3 jest poza zakresem.
Użyj len(services), aby poznać liczbę elementów. Ostatni indeks dodatni niepustej listy to len(services) - 1. Pusta lista ma długość zero i nie ma ani pierwszego, ani ostatniego elementu.
Literał listy zachowuje kolejność swoich elementów.
queue_names = ["urgent", "normal", "low"]
print(queue_names[0])
print(queue_names[2])Wynik:
urgent
lowPierwsza pozycja to 0, a nie 1.
Indeksowanie ujemne pozwala nie zakładać stałej długości listy.
releases = ["v1.2", "v1.3", "v1.4"]
print(releases[-1])
print(releases[-2])Wynik:
v1.4
v1.3Indeks -1 to ostatni element; -2 to ten przed nim.
Zmiana elementu listy nie wymaga tworzenia nowej listy.
channels = ["dev", "test", "prod"]
channels[1] = "staging"
print(channels)Wynik:
['dev', 'staging', 'prod']Zmienia się tylko element o indeksie 1.
len() zlicza wartości, a nie ostatni indeks.
active_regions = ["eu", "us"]
count = len(active_regions)
print(f"Regions: {count}")
print(f"Last positive index: {count - 1}")Wynik:
Regions: 2
Last positive index: 1| Cel | Python |
|---|---|
| Utworzenie listy | items = ["a", "b"] |
| Odczyt pierwszego elementu | items[0] |
| Odczyt ostatniego elementu | items[-1] |
| Aktualizacja elementu | items[0] = "new" |
| Zliczenie elementów | len(items) |
| Ostatni indeks dodatni (lista niepusta) | len(items) - 1 |
1: listy w Pythonie są indeksowane od zera.items[len(items)]: ta pozycja leży za ostatnim elementem; dla niepustej listy użyj -1 lub len(items) - 1.IndexError.items[1] = value zastępuje istniejący element; nie wstawia nowego.