Jedna nazwa, wiele wartości:
[ ]: można ją zmieniać (dokładać, usuwać, sortować)( ): po utworzeniu się nie zmienia; to rekord o stałych polachReguła na cały temat:
L.sort()) ZMIENIA listę i zwraca Nonesorted(L), len(L)) ZWRACA wynik i listy nie ruszaNawiasy kwadratowe, elementy po przecinku. Lista może być pusta.
▶ Całość albo ⏭ Krok[4, 5, 3, 5, 4] 5 0 <class 'list'> True False
element: 4 5 3 5 4 indeks: 0 1 2 3 4 od końca: -5 -4 -3 -2 -1
▶ Całość albo ⏭ Krok4 3 4 4 P n
start wchodzi, stop NIE wchodzi (jak w range), krok: co który element. Wycinek zawsze tworzy NOWĄ listę.
▶ Całość albo ⏭ Krok[1, 2, 3] [0, 1, 2] [3, 4, 5] [1, 2, 3, 4] [0, 2, 4] [5, 4, 3, 2, 1, 0] kajak [1, 2, 3]
Przypisanie pod indeks podmienia element.
▶ Całość albo ⏭ Krok[99, 20, 30] ['Darek', 'Ala', 'Bartek', 'Cela'] ['Ala'] Cela Darek
append(), insert(), remove(), sort(), reverse() zmieniają listę i zwracają None. Wywołuj je w osobnej linii, BEZ przypisania.
▶ Całość albo ⏭ Krok[1, 2, 3] None
▶ Całość albo ⏭ Krok11.2 13.0 36.7 Średnia: 12.23 2 2 [1, 2, 3, 4] [1, 2, 3, 4]
Pusta lista PRZED pętlą, append() W pętli, wynik PO pętli.
▶ Całość albo ⏭ Krok[0, 1, 4, 9, 16] [3, 7, 4]
for x in L -> dostajesz wartości (do odczytu) for i in range(len(L)) -> dostajesz indeksy (gdy trzeba PODMIENIĆ elementy)
▶ Całość albo ⏭ Krok[3, 0, 0, 0, 2] 1 4 2 5 3 3 4 5 5 4
B = A daje tej samej liście drugą etykietę. Kopia: copy(), list() albo [:].
▶ Całość albo ⏭ Krok[1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4, 5]
sort() -> sortuje W MIEJSCU, zwraca None, oryginalna kolejność przepada sorted() -> zwraca NOWĄ posortowaną listę, oryginał zostaje
▶ Całość albo ⏭ Krok['banan', 'gruszka', 'jabłko'] ['gruszka', 'jabłko', 'banan'] ['banan', 'gruszka', 'jabłko'] [95, 88, 72, 40] ['Zebra', 'ala', 'kot'] ['10', '100', '9'] [9, 10, 100]
▶ Całość albo ⏭ Krok['d', 'c', 'b', 'a'] d c b a ['d', 'c', 'b', 'a']
split() tnie napis na listę, join() skleja listę napisów w jeden napis. Separator stoi PRZED kropką: "-".join(lista)
▶ Całość albo ⏭ Krok['ala', 'ma', 'kota'] ala-ma-kota ala, kota, ma ['Anna', '87', 'matematyka'] 1 2 3
Nawiasy okrągłe. Odczyt jak w liście (indeksy, wycinki, len, in, for), ale zmienić się jej nie da.
▶ Całość albo ⏭ KrokAnna 4.5 3 <class 'tuple'> <class 'tuple'> <class 'int'>
Liczba zmiennych po lewej = liczba pól po prawej.
▶ Całość albo ⏭ KrokAnna ma 22 lat i średnią 4.5 5 3
Każdy element to krotka o tym samym kształcie. Rozpakowanie od razu w nagłówku pętli.
▶ Całość albo ⏭ KrokAla: 12.50 s Bartek: 11.20 s Cela: 13.00 s 1. Bartek 11.20 s (+0.00 s) 2. Ala 12.50 s (+1.30 s) 3. Cela 13.00 s (+1.80 s)
Te same wzorce co przy pętlach: akumulator, filtr, szukanie maksimum.
▶ Całość albo ⏭ KrokWartość magazynu: 97.00 Najcenniejszy: Mlotki Do zamówienia: ['Mlotki', 'Gwozdzie']
M[wiersz][kolumna]. Przechodzimy dwiema pętlami zagnieżdżonymi.
▶ Całość albo ⏭ Krok[[1, 2, 3], [2, 4, 6], [3, 6, 9]] 6 1 2 3 2 4 6 3 6 9
▶ Całość albo ⏭ Krok8
1) split(";") 2) rozpakowanie 3) konwersja typu 4) krotka + append()
▶ Całość albo ⏭ Krok[('Ala', 12.5), ('Bartek', 11.2), ('Cela', 13.0)] Najszybszy: Bartek
▶ Całość albo ⏭ KrokZły wynik: None A lista i tak: [1, 2, 3] [20, 30] [20, 30, 40]
Co wypisze każda linia? Przy wycinkach rozpisz najpierw indeksy. Potem ▶ Uruchom.
Najpierw przewidź wynik, potem ▶ Całość albo ⏭ Krok.[1, 2, 3] None [1, 3] [0, 1, 2] [5, 4, 3, 2, 1, 0]
| Zadanie | Narzędzie | Zadanie | Narzędzie |
|---|---|---|---|
| 5.1 Maks. i min. | max(), min() | 5.11 Średnia z części | L[a:b + 1] |
| 5.2 Średnia skrajnych | L[0], L[-1] | 5.12 Mini ETL | split(",") → krotka |
| 5.3 Łączenie list | A + B | 5.13 Telemetria | licznik, lo <= x <= hi |
| 5.4 Elementy w listę | append() | 5.14 Rozpakowanie | x, y = input().split() |
| 5.5 Lista kwadratów | pętla + append() | 5.15 Krok, odwrócenie | [2:7], [::2], [::-1] |
| 5.6 Zera zamiast ujemnych | range(len(L)) | 5.16 join vs pętla | "-".join() |
| 5.7 Ile dodatnich | licznik | 5.17 Lista zakupów | krotki (priorytet, nr, nazwa) |
| 5.8 Ostatni znak | s[-1] | 5.18 Ranking | krotki (czas, imie) |
| 5.9 Sortowanie | sorted(), reversed() | 5.19 Magazyn | akumulator, filtr, maksimum |
| 5.10 Bez końców | L[1:-1] | 5.20–5.22 | warianty dla chętnych |