Metoda append() w Pythonie służy do dodawania pojedynczych elementów na końcu listy i jest jednym z najczęściej używanych narzędzi do dynamicznej rozbudowy list. Pozwala to na efektywne manipulowanie strukturą danych nawet podczas działania programu, co jest typowe dla języków wysokiego poziomu jak Python.
Podstawowe zastosowanie append()
- Składnia –;
lista.append(element)
Gdzie lista to istniejąca lista, a element to dowolny obiekt, który chcemy do niej dodać.
- Dodawany element można przekazać bezpośrednio lub poprzez zmienną –.
lista = [1, 2, 3]
lista.append(4) # dodanie liczby
nazwa = "pięć"
lista.append(nazwa) # dodanie napisu
print(lista) # Wynik: [1, 2, 3, 4, 'pięć']
Co można dodać za pomocą append()?
- Dowolny typ danych –;
Do listy można dodać liczby, napisy, inne listy, słowniki czy obiekty klas użytkownika – wszystko zostanie potraktowane jako jeden obiekt. - Przykład z zagnieżdżoną listą –.
druga_lista = [6, 7]
lista.append(druga_lista)
print(lista) # Wynik: [1, 2, 3, 4, 'pięć', [6, 7]]
Dodana lista tworzy wówczas zagnieżdżenie; elementem listy staje się cała inna lista, a nie jej poszczególne elementy.
Ograniczenia i różnice względem extend()
- Dodawanie wielu elementów –;
Gdy przekażemy iterowalny obiekt (np. listę) do metodyappend(), zostanie on dodany jako pojedynczy element, a nie jako kolejne elementy listy docelowej. - Dodanie każdego elementu osobno wymaga pętli –.
for liczba in druga_lista:
lista.append(liczba)
print(lista) # Wynik: [1, 2, 3, 4, 'pięć', [6, 7], 6, 7]
- Lepszym rozwiązaniem przy potrzebie płaskiego dołączania danych jest metoda
extend()–.
| Metoda | Działanie | Przykład wynikowy |
|---|---|---|
append() |
Dodaje cały obiekt jako jeden element | [1, 2, 3, [4, 5]] |
extend() |
Dodaje każdy element z przekazanej kolekcji | [1, 2, 3, 4, 5] |
lista = [1, 2, 3]
lista.append([4, 5]) # [1, 2, 3, [4, 5]]
lista = [1, 2, 3]
lista.extend([4, 5]) # [1, 2, 3, 4, 5]
Kluczowa różnica: append() zawsze dodaje jeden obiekt (nawet jeśli to lista), extend() rozbija kolekcję na pojedyncze elementy i każdy dodaje osobno.
Właściwości techniczne append()
- Modyfikacja „in place” –;
Metoda nie tworzy nowej listy, lecz modyfikuje istniejącą – nie trzeba przypisywać wyniku do zmiennej, bo oryginał się zmienia. - Złożoność czasowa –.
Dodanie elementu przezappend()realizowane jest w czasie stałym, tj. O(1), co oznacza wysoką wydajność nawet dla bardzo dużych list.
Typowe zastosowania
- Dynamiczna budowa listy –.
lista = []
for value in range(10):
lista.append(value ** 2)
- Zbieranie wyników w pętli lub podczas operacji na danych.
- Tworzenie zagnieżdżonych struktur, np. dla macierzy –.
matrix = []
for i in range(3):
row = []
for j in range(3):
row.append(i * j)
matrix.append(row)
Przykład interaktywny
Dzięki prostocie użycia, append() jest dobrym narzędziem do pracy z danymi wejściowymi użytkownika:
lista_A = ['cegła', 'szklarnia']
nowy_element = input("Podaj element do dodania: ")
lista_A.append(nowy_element)
print(lista_A)
Łączenie z innymi metodami
Dla wydajnej i czytelnej manipulacji listami, znajomość różnic między append(), extend(), a np. insert() oraz + (łączenie list) umożliwia pisanie bardziej czytelnego i wydajnego kodu.
Podsumowanie –
Metoda append() to fundamentalne narzędzie do dodawania pojedynczych elementów na końcu listy w Pythonie, pozwalając na dynamiczne budowanie i modyfikowanie struktur danych. Kluczowe jest zrozumienie, że zawsze dodaje jeden, dowolnego typu obiekt jako całość, co odróżnia ją od extend() rozbijającego iterowane obiekty na części.