Metoda append() w Pythonie – dynamiczne rozbudowywanie list

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 metody append(), 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 przez append() 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.

Programista i twórca serwisu Creative Coding, absolwent Politechniki Warszawskiej (WEiTI). Od 10+ lat łączy front‑end, grafikę generatywną i narzędzia dla twórców; opublikował 120+ projektów i artykułów, prowadził warsztaty dla 2 000+ uczestników. Pracuje z JavaScriptem, Three.js, P5.js i GLSL, bada wydajność i dokumentuje procesy, tworząc praktyczne przewodniki dla osób łączących kod z obrazem, dźwiękiem i interakcją.
Zostaw komentarz

Komentarze

Brak komentarzy. Dlaczego nie rozpoczniesz dyskusji?

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *