Rozdział 11 · Mnóstwo informacji!

zip() i rozpakowywanie

Jedno narzędzie, które często idzie w parze z krotkami i rozpakowywaniem: łączenie dwóch list element po elemencie.

zip() — połączyć obie listy parami

zip_primer.py
names = ["Anna", "Bob"]
scores = [95, 82]

for name, score in zip(names, scores):
    print(name, "—", score)
names[0],scores[0]Anna, 95names[1],scores[1]Bob, 82
zip() bierze po jednym punkcie z każdej listy na tym samym miejscu
zip() zatrzymuje się na najkrótszym
Jeśli listy mają różną długość, zip() domyślnie kończy się zanim krótszy — „dodatkowe”

zip() + dict — zbieraj słownik z dwóch list

zip_v_dict.py
names = ["Anna", "Bob", "Maria"]
scores = [95, 82, 91]

result = dict(zip(names, scores))
print(result)   # {'Anna': 95, 'Bob': 82, 'Maria': 91}

Rozpakowywanie w pętlach

Korzystaliśmy już z tego dla słowników (§11.17) — ta sama zasada, co rozpakowanie krotki z §11.13, tylko zastosowana wewnątrz pętli:

raspakovka_v_cikle.py
pary = [("Anna", 95), ("Bob", 82)]
for name, score in pary:
    print(f"{name}: {score}")
Praktyka: zip() i rozpakowywanie w pętlach
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji
Otwórz praktykę →