Co to jest lista w Pythonie?
Lista jest dokładnie tym, na co wygląda, kontenerem zawierającym różne obiekty Pythona, które mogą być liczbami całkowitymi, słowami, wartościami itp. Jest odpowiednikiem tablicy w innych językach programowania. Jest reprezentowany przez nawiasy kwadratowe (i jest to jeden z atrybutów, który odróżnia go od krotek, które są oddzielone nawiasami). Jest również zmienny, to znaczy może być modyfikowany lub aktualizowany; w przeciwieństwie do krotek, które są niezmienne.
W tym samouczku Pythona dowiesz się:
- Co to jest lista w Pythonie?
- Przykłady list Pythona:
- Dostęp do wartości na listach
- Lista krojenia
- Aktualizowanie list
- Usuwanie elementów listy
- Dołączanie elementów listy
- Lista wbudowanych funkcji (metod)
- Zapętlanie list
- Lista zdań
Przykłady list Pythona:
Listy Pythona mogą być jednorodne, co oznacza, że mogą zawierać obiekty tego samego typu; lub heterogeniczne, w tym różne typy obiektów.
Przykłady jednorodnych list obejmują:
list of integers = [1, 2, 3, 8, 33]list of animals = ['dog', 'cat', 'goat']list of names = ['John', 'Travis', 'Sheila']list of floating numbers = [2.2, 4.5, 9.8, 10.4]
Przykłady list heterogenicznych obejmują:
[2, 'cat', 34.33, 'Travis'][2.22, 33, 'pen']
Dostęp do wartości na listach
Aby uzyskać dostęp do wartości na listach, można użyć indeksu obiektów na listach. Indeks na listach Pythona odnosi się do pozycji elementu w uporządkowanej liście. Na przykład:
list = [3, 22, 30, 5.3, 20]
- Pierwsza wartość na powyższej liście, 3, ma indeks 0
- Druga wartość, 22, ma indeks 1
- Trzecia wartość, 30, ma indeks 2
i tak dalej. Aby uzyskać dostęp do każdej wartości z listy, należy użyć:
list[0] to access 3list[1] to access 22list[2] to access 30list[3] to access 5.3list[4] to access 20
Dostęp do ostatniego członka listy można również uzyskać za pomocą indeksu -1. Na przykład,
list[-1] = 20
Lista krojenia
Cięcie list to metoda dzielenia podzbioru listy, a do tego służą również indeksy obiektów list. Na przykład, korzystając z tego samego przykładu listy powyżej;
list[:] = [3, 22, 30, 5.3, 20] (all the members of the list];list[1:3] = [22, 30] (members of the list from index 1 to index 3, without the member at index 3);list[:4] = [3, 22, 30, 5.3] (members of the list from index 0 to index 4, without the member at index 4)list[2:-1] = [30, 5.3] (members of the list from index 2, which is the third element, to the second to the last element in the list, which is 5.3).
Listy Pythona są wyłączne w górnej części, co oznacza, że ostatni indeks podczas dzielenia listy jest zwykle ignorowany. Dlatego
list[2:-1] = [30, 5.3], a nie [30, 5.3, 20]. To samo dotyczy wszystkich innych przykładów wycinania list podanych powyżej.
Aktualizowanie list
Powiedzmy, że masz listę = [fizyka, chemia, matematyka] i chcesz zmienić listę na [biologia, chemia, matematyka], skutecznie zmieniając członka o indeksie 0. Można to łatwo zrobić, przypisując ten indeks do nowego członka, którego chcesz.
To jest,
list = [physics, chemistry, mathematics]list[0] = biologyprint(list)
Wynik: [biologia, chemia, matematyka]
Spowoduje to zastąpienie członka o indeksie 0 (fizyka) nową wartością, którą chcesz (chemia). Można to zrobić dla dowolnego członka lub podzbioru listy, którą chcesz zmienić.
Aby podać inny przykład; powiedzmy, że masz listę zwaną liczbami całkowitymi i zawierającą liczby [2, 5, 9, 20, 27]. Aby zamienić 5 na tej liście na 10, możesz to zrobić za pomocą:
integers = [2, 5, 9, 20, 27]integers[1] = 10print(integers)>>> [2, 10, 9, 20, 27]
Aby zamienić ostatniego członka listy liczb całkowitych, czyli 27, na dowolną liczbę, taką jak 30,5, należy użyć:
integers = [2, 5, 9, 20, 27]integers[-1] = 30.5print(integers)>>> [2, 5, 9, 20, 30.5]
Usuwanie elementów listy
Istnieją 3 metody w Pythonie do usuwania elementów list: list.remove (), list.pop () i operator del. Remove przyjmuje określony element do usunięcia jako argument, podczas gdy pop i del pobierają indeks elementu do usunięcia jako argument. Na przykład:
lista = [3, 5, 7, 8, 9, 20]
Aby usunąć 3 (pierwszy element) z listy, możesz użyć:
- list.remove (3) lub
- list.pop [0] lub
- usuń listę [0]
Aby usunąć 8, pozycję o indeksie 3, z listy, możesz użyć:
- list.remove (8) lub
- list.pop [3]
Dołączanie elementów listy
Aby dołączyć elementy do listy, używana jest metoda append, która dodaje element na koniec listy.
Na przykład:
list_1 = [3, 5, 7, 8, 9, 20]list_1.append(3.33)print(list_1)>>> list_1 = [3, 5, 7, 8, 9, 20, 3.33]list_1.append("cats")print(list_1)>>> list_1 = [3, 5, 7, 8, 9, 20, 3.33, "cats"]
Lista wbudowanych funkcji (metod)
Poniżej znajduje się lista wbudowanych funkcji i metod wraz z ich opisami:
- len (lista): podaje długość listy jako wynik. Na przykład:
numbers = [2, 5, 7, 9]print(len(numbers))>>> 4
- max (lista): zwraca pozycję z listy o maksymalnej wartości. Na przykład:
numbers = [2, 5, 7, 9]print(max(numbers))>>> 9
- min (lista): zwraca pozycję z listy o minimalnej wartości. Na przykład:
numbers = [2, 5, 7, 9]print(min(numbers))>>> 2
- list (tuple): konwertuje obiekt krotki na listę. Na przykład;
animals = (cat, dog, fish, cow)print(list(animals))>>> [cat, dog, fish, cow]
- list.append (element): dołącza element do listy. Na przykład;
numbers = [2, 5, 7, 9]numbers.append(15)print(numbers)>>> [2, 5, 7, 9, 15]
- list.pop (indeks): usuwa element o podanym indeksie z listy. Na przykład;
numbers = [2, 5, 7, 9, 15]numbers.pop(2)print(numbers)>>> [2, 5, 9, 15]
- list.remove (element): usuwa element z listy.Na przykład;
values = [2, 5, 7, 9]values.remove(2)print(values)>>> [5, 7, 9]
- list.reverse (): odwraca obiekty z listy. Na przykład;
values = [2, 5, 7, 10]values.reverse()print(values)>>> [10, 7, 5, 2]
- list.index (element): aby pobrać wartość indeksu elementu na liście. Na przykład;
animals = ['cat', 'dog', 'fish', 'cow', 'goat']fish_index = animals.index('fish')print(fish_index)>>> 2
- sum (lista): aby uzyskać sumę wszystkich wartości z listy, jeśli wszystkie wartości są liczbami (liczbami całkowitymi lub dziesiętnymi). Na przykład;
values = [2, 5, 10]sum_of_values = sum(values)print(sum_of_values)>>> 17
Jeśli lista zawiera element, który nie jest liczbą, na przykład ciąg znaków, metoda sum nie zadziała. Otrzymasz komunikat o błędzie: „ TypeError : nieobsługiwane typy operandów dla +: 'int' i 'str'”
- list.sort (): porządkuje listę liczb całkowitych, liczb zmiennoprzecinkowych lub łańcuchów w porządku rosnącym lub malejącym. Na przykład:
values = [1, 7, 9, 3, 5]# To sort the values in ascending order:values.sort()print(values)>>> [1, 3, 5, 7, 9]
Inny przykład:
values = [2, 10, 7, 14, 50]# To sort the values in descending order:values.sort(reverse = True)print(values)>>> [50, 14, 10, 7, 2]
Listę ciągów można również sortować alfabetycznie lub według długości ciągów. Na przykład;
# to sort the list by length of the elementsstrings = ['cat', 'mammal', 'goat', 'is']sort_by_alphabet = strings.sort()sort_by_length = strings.sort(key = len)print(sort_by_alphabet)print(sort_by_length)>>> ['cat', 'goat', 'is', 'mammal']['is', 'cat', 'goat', 'mammal']
Możemy posortować tę samą listę alfabetycznie, używając „łańcuchów”.
Zapętlanie list
Zapętlanie list można wykonać w taki sam sposób, jak każdą inną funkcję pętli w Pythonie. W ten sposób metoda może być wykonywana na wielu elementach listy w tym samym czasie. Na przykład:
list = [10, 20, 30, 40, 50, 60, 70].
Aby przejrzeć wszystkie elementy tej listy i powiedzmy, dodaj 10 do każdego elementu:
for elem in list:elem = elem + 5print(elem)>>>>15253545556575
Aby przejrzeć pierwsze trzy elementy listy i usunąć je wszystkie;
for elem in list[:3]:list.remove(elem)>>>list = [40, 50, 60, 70]
Do pętli przez 3 rd (indeks 2) do ostatniego elementu na liście, i dołączyć je do nowej listy o nazwie new_list:
new_list = []for elem in list[2:]:new_list.append(elem)print(“New List: {}”.format(new_list))Output:New List: [30, 40, 50, 60, 70]
W ten sposób dowolna metoda lub funkcja może być zastosowana do elementów listy w celu wykonania określonej operacji. Możesz zapętlić wszystkich członków listy lub przejrzeć podzbiór listy przy użyciu fragmentacji listy.
Lista ujęć
Listy składane to funkcje Pythona używane do tworzenia nowych sekwencji (takich jak listy, słowniki itp.) Przy użyciu sekwencji, które zostały już utworzone. Pomagają skrócić dłuższe pętle i sprawiają, że kod jest łatwiejszy do odczytania i utrzymania.
Na przykład; powiedzmy, że chcesz utworzyć listę zawierającą kwadraty wszystkich liczb od 1 do 9:
list_of squares = []for int in range(1, 10):square = int ** 2list_of_squares.append(square)print(list_of_squares)List_of_squares using for loop:[1, 4, 9, 16, 25, 36, 49, 64, 81]
Aby zrobić to samo ze składaniem list:
list_of_squares_2 = [int**2 for int in range(1, 10)]print('List of squares using list comprehension: {}'.format(list_of_squares_2))Output using list comprehension:[1, 4, 9, 16, 25, 36, 49, 64, 81]
Jak widać powyżej, pisanie kodu przy użyciu list składanych jest znacznie krótsze niż używanie tradycyjnych pętli for, a także jest szybsze. To tylko jeden przykład użycia wyrażeń listowych zamiast pętli for, ale można to powielić i użyć w wielu miejscach, w których można również użyć pętli for. Czasami użycie pętli for jest lepszą opcją, zwłaszcza jeśli kod jest złożony, ale w wielu przypadkach listy składane ułatwiają i przyspieszają kodowanie.
Poniżej znajduje się tabela zawierająca niektóre funkcje i metody listy oraz ich opisy.
Wbudowane funkcje
FUNKCJONOWAĆ | OPIS |
Okrągły() | Zaokrągla liczbę przekazaną jako argument do określonej liczby cyfr i zwraca wartość zmiennoprzecinkową |
Min () | zwraca minimum elementu z podanej listy |
Maks. () | zwraca maksymalny element z podanej listy |
len () | Zwraca długość listy |
Wyliczać() | Ta wbudowana funkcja generuje zarówno wartości, jak i indeksy elementów w iterowalnej, więc nie musimy liczyć ręcznie |
Filtr() | sprawdza, czy każdy element listy jest prawdziwy, czy nie |
lambda | Wyrażenie, które może pojawić się w miejscach, gdzie def (do tworzenia funkcji) nie jest składniowe, wewnątrz literału listy lub argumentów wywołania funkcji |
Mapa() | zwraca listę wyników po zastosowaniu danej funkcji do każdego elementu danej iteracji |
Gromadzić() | zastosowanie określonej funkcji przekazanej w jej argumencie do wszystkich elementów listy zwraca listę zawierającą wyniki pośrednie |
Suma() | Zwraca sumę wszystkich liczb na liście |
Cmp () | Służy do porównywania dwóch list i zwraca 1, jeśli pierwsza lista jest większa niż druga lista. |
Wstawić | Wstaw element do wyświetlenia w określonej pozycji |
Lista metod
FUNKCJONOWAĆ | OPIS |
Dodać() | Dodaje nową pozycję na końcu listy |
Jasny() | Usuwa wszystkie pozycje z listy |
Kopiuj() | Zwraca kopię oryginalnej listy |
Poszerzać() | Dodaj wiele pozycji na końcu listy |
Liczyć() | Zwraca liczbę wystąpień określonej pozycji na liście |
Indeks() | Zwraca indeks określonego elementu listy |
Muzyka pop() | Usuwa pozycję z listy w określonym indeksie (usuń według pozycji) |
Usunąć() | Usuwa określoną pozycję z listy (usuń według wartości) |
Odwrócić() | Metoda odwracania w miejscu, która odwraca kolejność elementów listy |
Podsumowanie
- Lista jest dokładnie tym, na co wygląda, kontenerem zawierającym różne obiekty Pythona, które mogą być liczbami całkowitymi, słowami, wartościami itp.
- Listy Pythona mogą być jednorodne, co oznacza, że mogą zawierać obiekty tego samego typu; lub heterogeniczne, zawierające różne typy obiektów.
- Aby uzyskać dostęp do wartości na listach, można użyć indeksu obiektów na listach.
- Cięcie list to metoda dzielenia podzbioru listy, a do tego służą również indeksy obiektów list.
- Trzy metody usuwania elementów listy to: 1) list.remove (), 2) list.pop () i 3) operator del
- Append służy do dołączania elementów. Spowoduje to dodanie elementu na koniec listy.
- Metoda pętli programu w języku Python może być wykonywana na wielu elementach listy danych w tym samym czasie.
- Listy składane to funkcje Pythona używane do tworzenia nowych sekwencji (takich jak listy, słowniki itp.) Przy użyciu sekwencji, które zostały już utworzone.