11 metod listy, które musisz znać w języku Python

W tym samouczku dowiesz się, jak używać metod listy Pythona do dodawania elementów, modyfikowania i usuwania elementów z list Pythona.

Kiedy zaczynasz programować w Pythonie, listy są jedną z pierwszych wbudowanych struktur danych, o których się dowiesz. W ciągu następnych kilku minut przyjrzymy się podstawom list w Pythonie, a następnie omówimy kilka przydatnych metod list, których możesz użyć podczas pracy z listami.

Zaczynajmy!

Przegląd list Pythona

W Pythonie lista jest zbiorem elementów tego samego lub różnych typów danych. Możesz przeglądać kolekcję w pętli, aby uzyskać dostęp do elementów za pomocą konstrukcji pętli, takich jak pętle for.

Podobnie jak wszystkie iterowalne elementy w Pythonie, listy podążają za zerowym indeksowaniem i obsługują operację krojenia.

Są to zmienne kolekcje, więc możesz je modyfikować na miejscu. Obejmuje to dodawanie i usuwanie elementów z listy, sortowanie elementów w określonej kolejności, odwracanie kolejności elementów i wiele więcej. Wbudowane metody list Pythona pomagają w wykonywaniu tych czynności.

Następnie przyjrzyjmy się kilku przydatnym metodom listy Pythona.

Wbudowane metody list w Pythonie

W tej sekcji nauczymy się kilku przydatnych metod tworzenia list. Zakodujemy przykłady, aby zobaczyć te metody list w działaniu.

Użyjemy następującej listy pgm_langs. Jest to lista napisów zawierających nazwy popularnych języków programowania.

pgm_langs = ['Python','Go','Rust','JavaScript']

Wstaw elementy listy za pomocą funkcji insert()

Możesz chcieć wstawić element w określonym indeksie. Aby to zrobić, możesz użyć metody insert(). Wywołanie metody listy insert() obejmuje:

  • Indeks, w którym element powinien zostać wstawiony, oraz
  • Element do wstawienia.

Wstawmy „Scala” w indeksie 1, używając metody index().

pgm_langs = ['Python','Go','Rust','JavaScript']
pgm_langs.insert(1,'Scala')
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript']

Dodaj element do listy za pomocą append()

Czasami może być konieczne dodanie elementu na końcu listy. Aby to zrobić, możesz użyć metody append().

Dodajmy ciąg „Java” na końcu listy za pomocą metody append().

pgm_langs.append('Java')
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java']

Dodaj obiekt iterowalny za pomocą funkcji extend()

Wiesz, że możesz użyć metody append() w celu dodania pojedynczego elementu. Ale co zrobić, jeśli chcesz dodać więcej niż jeden element do istniejącej listy, powiedzmy listy elementów? Metoda extend() zapewnia zwięzłą składnię, aby to zrobić.

Dodajmy elementy listy more_langs do listy pgm_langs za pomocą metody extend().

more_langs = ['C++','C#','C']
pgm_langs.extend(more_langs)
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java', 'C++', 'C#', 'C']

Możesz przechodzić przez listę elementów i używać metody append() w celu dodawania jednego elementu na raz. Jest to jednak szczegółowe. Zamiast tego wygodniej jest użyć metody extend().

for lang in more_langs:
    pgm_langs.append(lang)

Odwróć listę za pomocą funkcji reverse()

Aby odwrócić kolejność elementów na liście, możesz wywołać metodę reverse().

Widzimy, że lista pgm_langs została odwrócona.

pgm_langs.reverse()
print(pgm_langs)
# Output: ['C', 'C#', 'C++', 'Java', 'JavaScript', 'Rust', 'Go', 'Scala', 'Python']

Sortuj listę za pomocą sort()

Możesz sortować listę Pythona na miejscu, używając metody sort(). Ponieważ pgm_langs jest listą ciągów, widzimy, że sortowanie odbywa się w porządku alfabetycznym.

pgm_langs.sort()
print(pgm_langs)
# Output: ['C', 'C#', 'C++', 'Go', 'Java', 'JavaScript', 'Python', 'Rust', 'Scala']

Aby posortować listę w odwrotnej kolejności alfabetycznej, można ustawić parametr reverse na True w wywołaniu metody sort().

pgm_langs.sort(reverse=True)
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

Dowiedz się więcej o sortowaniu list Pythona.

Wykonaj płytką kopię za pomocą copy()

Czasami pomocne może być zmodyfikowanie kopii oryginalnej listy zamiast modyfikowania samej oryginalnej listy. Metoda list copy() zwraca skróconą kopię listy Pythona.

Stwórzmy krótką kopię listy pgm_langs i nazwijmy ją pgm_langs_copy. I ustawiamy pierwszy element na liście na „Haskell” i drukujemy go.

pgm_langs_copy = pgm_langs.copy()
pgm_langs_copy[0]='Haskell'
print(pgm_langs_copy)
# Output: ['Haskell', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

Widzimy jednak, że lista pgm_langs nie jest modyfikowana. Dlatego tworzenie płytkiej kopii i modyfikowanie jej nie zmienia oryginalnej listy.

print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

Uzyskaj liczbę przedmiotów za pomocą funkcji count()

Czasami warto wiedzieć, ile razy dany element występuje na liście. Metoda count() zwraca liczbę wystąpień elementu na liście.

Na liście pgm_langs wszystkie elementy występują dokładnie raz. Kiedy więc próbujemy policzyć „Go”, otrzymujemy 1, co jest poprawne.

print(pgm_langs.count('Go'))
# Output: 1

Użycie metody count() jest jednym ze sposobów usuwania zduplikowanych elementów z list Pythona.

Uzyskaj indeks elementu za pomocą index()

Aby znaleźć indeks elementu na liście Pythona, możesz użyć metody index(). Załóżmy, że chcielibyśmy znaleźć indeks „C#” na liście pgm_langs. Możemy użyć instrukcji assert, aby sprawdzić, czy element o indeksie 7 to „C#”.

print(pgm_langs.index('C#'))
# Output: 7
assert pgm_langs[7] == 'C#'

Usuń element z indeksu za pomocą pop()

Przyjrzyjmy się teraz metodom list metodom list służącym do usuwania elementów z list Pythona. Metoda pop() służy do usuwania i zwracania elementu w określonym indeksie. Z poprzedniego przykładu kodu wiemy, że „C#” jest językiem o indeksie 7.

Kiedy wywołujemy metodę pop() na liście pgm_langs z indeksem 7, widzimy, że zwraca ona „C#”, element o indeksie 7, a także usuwa go z listy.

print(pgm_langs.pop(7))
# Output: 'C#'
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C']

Tak więc metoda pop() usuwa i zwraca element o określonym indeksie. Jednak określenie indeksu jest opcjonalne. Jeśli nie określisz indeksu, metoda pop() usunie i zwróci ostatni element z listy Pythona, jak pokazano na rysunku:

print(pgm_langs.pop())
# Output: 'C'
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++']

Usuń elementy za pomocą funkcji remove()

Czasami możesz wiedzieć, który element usunąć, ale nie jego indeks. W takim przypadku możesz użyć metody remove() — która pobiera element do usunięcia i usuwa go. Usuńmy „Java” z listy pgm_langs za pomocą metody remove(), jak pokazano.

pgm_langs.remove('Java')
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Go', 'C++']

Usuń wszystkie elementy za pomocą clear()

Co zrobić, jeśli chcesz usunąć wszystkie elementy z listy Pythona? Możesz przeglądać listę i usuwać każdy element za pomocą metody remove() w następujący sposób:

for lang in pgm_langs:
    pgm_langs.remove(lang)

Ale czy jest lepszy sposób? Tak, przy użyciu metody clear(). Widzimy, że wywołanie metody clear na liście pgm_langs usuwa wszystkie elementy, a pgm_langs jest teraz pustą listą.

pgm_langs.clear()
print(pgm_langs)
# Output: []

Podsumowanie metod listy Pythona

Podsumujmy szybko różne metody tworzenia list i ich składnię:

List MethodSyntaxDescriptioninsert()list1.insert(index, elt)Wstawia elt w indeksie w list1append()list1.append(elt)Dodaje elt na koniec list1extend()list1.extend(list2)Dodaje elementy od list2 do końca list1sort ()list1.sort()Sortuje listę w placereverse()list1.reverse()Odwraca listę1 w placecopy()list1.copy()Zwraca uproszczoną kopię list1count()list1.count(elt)Zwraca liczbę elt w list1index()list1.index(elt)Zwraca indeks elt w list1pop()list1.pop(index)Usuwa elt z indeksu i zwraca go. remove()list1.remove(elt)Usuwa elt z listy1clear()list1.clear()Usuwa wszystkie elementy z listy1

Wniosek

Mam nadzieję, że ten samouczek pomógł ci zrozumieć, jak używać niektórych z najpopularniejszych metod tworzenia list w Pythonie. W następnym kroku zapoznaj się z krotkami Pythona i różnicami między listami a krotkami w Pythonie.

Jeśli uczysz się Pythona, możesz sprawdzić tę listę zasobów edukacyjnych przyjaznych dla początkujących.