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

10-221-1
Wcześniej: numbers.append(3)
10-321-232-1
Nowość: [1, 2, 3]
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]
10-321-2[3, 4]2-1
append([3, 4]) → jeden NOWY element-lista
10-421-332-243-1
extend([3, 4]) → dwa punkty Z listy
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"]
„jabłko”0-3„banan”1-2„wiśnia”2-1
Wcześniej: insert(1, 'mango')
„jabłko”0-4„mango”1-3„banan”2-2„wiśnia”3-1
Nowość: Pozostałe elementy przesunęły się w prawo

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
Otwórz praktykę →