Rozdział 11 · Mnóstwo informacji!
append, extend, insert
Trzy sposoby, by dodać coś do lista – i jedna z najczęstszych pułapek początkujących: append() i extend() robią zupełnie różne rzeczy.
append() - Dodaj jeden element
append.py
numbers = [1, 2]
numbers.append(3)
print(numbers) # [1, 2, 3]
append() zawsze dodaje
16 dokładnie jedną nowy
element — nawet jeśli ten element sam jest listą.
append() vs extend() jest ważną pułapką
append_vs_extend.py
a = [1, 2]
a.append([3, 4])
print(a) # [1, 2, [3, 4]] – lista na liście!
b = [1, 2]
b.extend([3, 4])
print(b) # [1, 2, 3, 4]
append() dodaje jeden obiekt, extend() — elementy z iterowalnego
append(x) kładzie x do środka jako JEDEN nowy element, jaki by nie był. extend(iterable) rozwija przekazany lista (lub każdy inny obiekt iterowalny) i dodaje każdy jego element osobno. Pomylenie ich to klasyczny błąd nowicjusza.insert() - Wklej według indeksu
insert.py
fruits = [„jabłko”, „banan”, „wiśnia”]
fruits.insert(1, „mango”)
print(fruits) # ["jabłko", "mango", "banan", "wiśni"]
Elementy zaczynające się od określonego indeksu zdają się „oddalać”
Praktyka: append, extend, insert
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji