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]
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.