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.