Python Rozumienie listy, dołączanie, sortowanie, długość [PRZYKŁADY]
Czym są sterowniki Python Lista?
Lista jest dokładnie tym, na co wygląda – kontenerem zawierającym coś innego Python obiekty, które mogą być liczbami całkowitymi, słowami, wartościami itp. Jest to odpowiednik 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ą rozdzielone nawiasami okrągłymi). Jest również zmienny, to znaczy, że może być modyfikowany lub aktualizowany; w przeciwieństwie do krotek, które są niezmienne.
Przykłady Python listy:
Python listy mogą być jednorodne, co oznacza, że mogą zawierać ten sam typ obiektów, lub heterogeniczne, co oznacza, że mogą zawierać różne typy obiektów.
Przykłady list jednorodnych 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 w ramach list
Aby uzyskać dostęp do wartości na listach, można użyć indeksu obiektów znajdujących się na listach. Indeks w Python lists odnosi się do pozycji elementu na 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, użyj:
list[0] to access 3 list[1] to access 22 list[2] to access 30 list[3] to access 5.3 list[4] to access 20
Dostęp do ostatniego elementu listy można również uzyskać za pomocą indeksu -1. Na przykład,
list[-1] = 20
Python Krojenie listy
Dzielenie listy to metoda dzielenia podzbioru listy, w tym celu wykorzystywane są również indeksy obiektów listy. Na przykład, używając 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).
Python listy są wykluczające górną granicę, a to 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 dzielenia list podanych powyżej.
Aktualizowanie list
Załóżmy, że masz listę = [fizyka, chemia, matematyka] i chcesz zmienić ją na [biologia, chemia, matematyka], skutecznie zmieniając element o indeksie 0. Można to łatwo zrobić, przypisując ten indeks do nowy członek, którego chcesz.
To jest,
list = [physics, chemistry, mathematics] list[0] = biology print(list)
Wynik: [biologia, chemia, matematyka]
Spowoduje to zastąpienie elementu o indeksie 0 (fizyka) nową żądaną wartością (chemia). Można to zrobić dla dowolnego elementu lub podzbioru listy, który chcesz zmienić.
Aby podać inny przykład; powiedzmy, że masz listę o nazwie integers i zawierającą liczby [2, 5, 9, 20, 27]. Aby zastąpić 5 na tej liście liczbą 10, możesz to zrobić w następujący sposób:
integers = [2, 5, 9, 20, 27] integers[1] = 10 print(integers) >>> [2, 10, 9, 20, 27]
Aby zastąpić ostatni element listy liczb całkowitych, czyli 27, wolną liczbą, taką jak 30.5, użyłbyś:
integers = [2, 5, 9, 20, 27] integers[-1] = 30.5 print(integers) >>> [2, 5, 9, 20, 30.5]
Usuwanie elementów listy
Istnieje 3 Python metody usuwania elementów listy: list.remove(), list.pop() i operator del. Metoda Remove przyjmuje konkretny element do usunięcia jako argument, podczas gdy pop i del przyjmują 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ć:
- lista.usuń(3) lub
- lista.pop[0] lub
- usuń listę[0]
Aby usunąć 8, pozycję o indeksie 3, z listy, możesz użyć:
- list.remove(8), lub
- lista.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 listy wraz z ich opisami:
- len(lista): daje to długość listy jako wynik. Na przykład:
numbers = [2, 5, 7, 9] print(len(numbers)) >>> 4
- maks.(lista): zwraca element na liście o maksymalnej wartości. Na przykład:
numbers = [2, 5, 7, 9] print(max(numbers)) >>> 9
- min(lista): zwraca element na liście z wartością minimalną. Na przykład:
numbers = [2, 5, 7, 9] print(min(numbers)) >>> 2
- lista (krotka): konwertuje obiekt krotki na listę. Na przykład;
animals = (cat, dog, fish, cow) print(list(animals)) >>> [cat, dog, fish, cow]
- lista.dołącz(element): dołącza element do listy. Na przykład;
numbers = [2, 5, 7, 9] numbers.append(15) print(numbers) >>> [2, 5, 7, 9, 15]
- lista.pop(indeks): usuwa z listy element o określonym indeksie. Na przykład;
numbers = [2, 5, 7, 9, 15] numbers.pop(2) print(numbers) >>> [2, 5, 9, 15]
- lista.usuń(element): usuwa element z listy. Na przykład;
values = [2, 5, 7, 9] values.remove(2) print(values) >>> [5, 7, 9]
- lista.odwrotna(): odwraca obiekty listy. Na przykład;
values = [2, 5, 7, 10] values.reverse() print(values) >>> [10, 7, 5, 2]
- lista.indeks(element): aby uzyskać wartość indeksu elementu na liście. Na przykład;
animals = ['cat', 'dog', 'fish', 'cow', 'goat'] fish_index = animals.index('fish') print(fish_index) >>> 2
- suma(lista): aby uzyskać sumę wszystkich wartości na liście, 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 niebędący liczbą, np. ciąg znaków, metoda sumowania nie będzie działać. Otrzymasz błąd mówiący: „Wpisz błąd: nieobsługiwane typy operandów dla +: 'int' i 'str'”
- list.sort(): aby uporządkować listę liczb całkowitych, liczb zmiennoprzecinkowych lub ciągów znaków w kolejności rosnącej lub malejącej. 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 także sortować alfabetycznie lub według długości ciągów. Na przykład;
# to sort the list by length of the elements strings = ['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 „stringów”.
Pętla przeglądania list
Pętlę po listach można wykonać w taki sam sposób, jak każdą inną funkcję pętli Python. W ten sposób metodę można wykonać na wielu elementach listy jednocześnie. Na przykład:
lista = [10, 20, 30, 40, 50, 60, 70].
Aby przejść przez wszystkie elementy tej listy, powiedzmy, dodaj 10 do każdego elementu:
for elem in list: elem = elem + 5 print(elem) >>>>15 25 35 45 55 65 75
Aby przejść przez pierwsze trzy elementy listy i usunąć je wszystkie;
for elem in list[:3]: list.remove(elem) >>>list = [40, 50, 60, 70]
Aby przejść przez 3rd (indeks 2) do ostatniego elementu na liście i dołącz 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 członków listy w celu wykonania określonej operacji. Możesz przejść przez wszystkich członków listy lub przejść przez podzbiór listy, używając podziału listy.
Lista ze zrozumieniem Python
Rozwiązania listowe są Python funkcje służące do tworzenia nowych ciągów (takich jak listy, słowniki itp.) z wykorzystaniem już utworzonych sekwencji. Pomagają zredukować 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 ** 2 list_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 wyrażeniami listowymi:
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 comprehensions jest znacznie krótsze niż przy użyciu tradycyjnych pętli for, a także szybsze. To tylko jeden przykład użycia list comprehensions zamiast pętli for, ale można go powtórzyć 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ą, szczególnie jeśli kod jest złożony, ale w wielu przypadkach list comprehensions ułatwią i przyspieszą kodowanie.
Poniżej znajduje się tabela zawierająca niektóre funkcje i metody listowe oraz ich opisy.
Wbudowane funkcje
FUNKCJA | OPIS |
---|---|
Okrągły() | Zaokrągla liczbę przekazaną jako argument do określonej liczby cyfr i zwraca wartość zmiennoprzecinkową |
Min.() | zwraca minimalny element danej listy |
Maks.() | zwraca maksymalny element danej listy |
len () | Zwraca długość listy |
Wyliczać() | Ta wbudowana funkcja generuje zarówno wartości, jak i indeksy elementów w sposób iterowalny, 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 listowego 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. |
wstawka | Wstaw element do listy w określonej pozycji |
Lista metod
FUNKCJA | OPIS |
---|---|
Dodać() | Dodaje nową pozycję na końcu listy |
Jasne() | Usuwa wszystkie pozycje z listy |
Kopiuj() | Zwraca kopię oryginalnej listy |
Rozszerzyć() | Dodaj wiele pozycji na końcu listy |
Liczyć() | Zwraca liczbę wystąpień określonego elementu na liście |
Indeks() | Zwraca indeks określonego elementu listy |
Muzyka pop() | Usuwa pozycję z listy pod określonym indeksem (usuwanie według pozycji) |
Usunąć() | Usuwa określoną pozycję z listy (usuń według wartości) |
Revtak() | Metoda odwracania w miejscu, która odwraca kolejność elementów listy |
Podsumowanie
- Lista jest dokładnie tym, na co wygląda – kontenerem zawierającym coś innego Python obiekty, którymi mogą być liczby całkowite, słowa, wartości itp.
- Python listy mogą być jednorodne, tzn. mogą zawierać ten sam typ obiektów; lub niejednorodne, tzn. mogą zawierać różne typy obiektów.
- Aby uzyskać dostęp do wartości na listach, można użyć indeksu obiektów znajdujących się na listach.
- Dzielenie listy to metoda dzielenia podzbioru listy, w tym celu wykorzystywane są również indeksy obiektów listy.
- Istnieją trzy metody usuwania elementów listy: 1) list.remove(), 2) list.pop() i 3) operator del
- Metoda Append służy do dołączania elementów. Spowoduje to dodanie elementu na koniec listy.
- Metoda pętli Python program można wykonać na wielu elementach listy danych jednocześnie.
- Rozwiązania listowe są Python funkcje służące do tworzenia nowych ciągów (takich jak listy, słowniki itp.) z wykorzystaniem już utworzonych sekwencji.