Rozdział 11 · Mnóstwo informacji!

Dlaczego przechowywać wiele wartości

Zanim lista metod — pytanie „po co”: jedno zmienna przechowuje jedną wartość, a kolekcja przechowuje ich wiele pod jedną nazwą.

Jeden zmienna to jedna wartość. A co jeśli jest pięćset?

Do tej pory każdy zmienna przechowywał jedną wartość. Wyobraź sobie, że zapisujesz wyniki Pięciu uczniów:

pyat_peremennyh.py
score_1 = 95
score_2 = 82
score_3 = 91
score_4 = 77
score_5 = 88

Działa. Teraz wyobraź sobie, że nie jest pięciu uczniów, ale pięćset. Zakładać score_1score_500 ręcznie nie jest łatwe przez długi czas, ale w rzeczywistości nie da się tego utrzymać: nie można ich przechodzić w cyklu, nie można obliczać Średnia jednolinijkowa, nie możesz dodać oceny ucznia 501st bez edycji kodu.

Kolekcja: Jedno imię, wiele znaczeń

Za to Python kolekcje są typy danych, które są przechowywane natychmiast Wiele znaczeń pod jednym nazwiskiem:

odin_spisok.py
scores = [95, 82, 91, 77, 88]
print(scores)
scores (lista)95indeks 082indeks 191indeks 277indeks 388indeks 4
Nazwa scores wskazuje na JEDEN obiekt kolekcji, który przechowuje odwołania do pięciu wartości
Kolekcja organizuje odniesienia do obiektów, a nie „wkłada przedmioty do pudełka”
W rozdziale 3 już widzieliśmy, że zmienna to nazwa wskazująca na obiekt. Kolekcja jest zorganizowana podobnie: scores wskazuje na pojedynczy obiekt lista i lista przechowuje odniesienia do kilku oddzielnych wartości. Nie potrzebujemy teraz szczegółów dotyczących wewnętrznej struktury CPython — ten obraz wystarczy.

Python Mapa kolekcji

W Python cztery główne wbudowane kolekcje. Dzielą się na trzy rodziny według tego, jak dostęp do wartości jest organizowany:

WIELE ZNACZEŃ
SEQUENCE — według pozycji (indeksu)
list - Można edytować
tuple - Nie można tego zmienić
SET — tylko unikalne wartości
set — można zmieniać
MAPPING — według tonacji
dict — klucz → wartość
Trzy rodziny kolekcji Python: sekwencję (według pozycji), zbiór (jednoznaczność), wyświetlanie (według klucza)
Cztery wbudowane kolekcje w skrócie
list
opływowy
zmieniamy
powtórki są dozwolone
[1, 2, 2]
tuple
opływowy
niezmienne
powtórki są dozwolone
(1, 2, 2)
set
bez indeksów
zmieniamy
tylko unikalne
{1, 2}
dict
według klucza
zmieniamy
klawisze są unikalne
{"a": 1}

Jak wybrać? Na razie — wskazówka, nie prawo

Pełna analiza wyboru struktury zostanie przedstawiona w §11.22, ale już przydatne jest posiadanie ogólnych wytycznych:

Którą kolekcję wybrać? (pierwszy punkt orientacyjny)
Czy potrzebujesz pary klucz→wartość?
dict
Potrzebne są tylko unikalne wartości, kolejność nie jest ważna?
set
Potrzebny jest porządek i trzeba będzie często zmieniać zawartość?
list
Potrzebny porządek, ale wartości ustalone raz na zawsze?
tuple
To zasada ogólna, a nie prawo matematyczne — będą od niej wyjątki
Praktyka: zamieniamy pięć zmiennych na jeden lista
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji
Otwórz praktykę →