Jaka jest różnica między metodami append() a extend() list w Pythonie?

Metody append() i extend() są często stosowane podczas pracy z listami w Pythonie. Choć na pierwszy rzut oka mogą wydawać się podobne, służą do różnych celów i działają na listach w odmienny sposób. W tym artykule szczegółowo omówimy obie metody i pokażemy, jak i kiedy ich używać na praktycznym przykładzie.

Kompletny przykład kodu z użyciem append() i extend()

Załóżmy, że mamy dwie listy: jedną z nazwami owoców, a drugą z warzywami. Chcemy połączyć te dwie listy na różne sposoby, aby zobaczyć różnicę w działaniu metod append() i extend().

# Definicja list z owocami i warzywami
fruits = ["jabłko", "banan", "wiśnia"]
vegetables = ["marchew", "brokuły", "szpinak"]

# Używamy append() do dodania listy warzyw do listy owoców
# jako pojedynczy element
fruits.append(vegetables)
print("Lista po użyciu append():", fruits)
# Wynik: ['jabłko', 'banan', 'wiśnia', ['marchew', 'brokuły', 'szpinak']]

# Resetujemy listę fruits do pierwotnego stanu
fruits = ["jabłko", "banan", "wiśnia"]

# Używamy extend() do dodania elementów z listy warzyw
# do listy owoców
fruits.extend(vegetables)
print("Lista po użyciu extend():", fruits)
# Wynik: ['jabłko', 'banan', 'wiśnia', 'marchew', 'brokuły', 'szpinak']

W tym przykładzie, używając metody append(), lista warzyw została dodana jako pojedynczy element do listy owoców, tworząc listę zagnieżdżoną. Natomiast metoda extend() dodała każdy element z listy warzyw do listy owoców jako oddzielne elementy, rozszerzając oryginalną listę owoców.

Podsumowanie

Główna różnica między append() a extend() polega na sposobie, w jaki traktują dodawane elementy. Metoda append() dodaje swój argument do listy jako pojedynczy element, natomiast extend() rozszerza listę, dodając do niej elementy z iterowalnego argumentu, takiego jak inna lista. Wybór między tymi metodami zależy od potrzebnego efektu: czy chcemy mieć zagnieżdżoną listę (używamy append()), czy jednolitą, rozszerzoną listę (używamy extend()). Zrozumienie tych różnic jest kluczowe dla efektywnego manipulowania listami w Pythonie.

Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs video Python w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.

Scroll to Top