Programowanie w Pythonie. Lista w języku Python: podstawowe operacje

01.03.2020

W Pythonie listy są uporządkowanymi kolekcjami. Są ważnym elementem kodu programu. Listy odnoszą się do wbudowanych obiektów językowych. Za ich pomocą można szybko i sprawnie obsługiwać dużą ilość informacji i struktur danych o dowolnej złożoności. lista python

Właściwości i cechy obiektu listy

Listy są elastyczne i zmienne. typ danych. Mogą być dowolnej długości i zawierać nieograniczoną liczbę ilość informacji. Jako elementy sekwencji można używać łańcuchów, liczb prostych i rzeczywistych, słowników. Każda zmienna listy w Pythonie jest oddzielnie traktowana, usuwana lub zastępowana.

Listy mają określony zestaw właściwości, które odróżniają je od innych typów danych:

  • Są to grupy obiektów z uporządkowanym pozycjonowaniem od lewej do prawej.
  • Listy zapewniają dostęp przez przesunięcie, czyli przez numer obiektu.
  • W Pythonie listy są heterogeniczne. Sekwencja może zawierać obiekty różnych typów, w tym liczby, mapy, łańcuchy, pliki.
  • Listy są klasyfikowane jako zmienne obiekty z nieograniczoną liczbą zagnieżdżeń.

Listy można pomylić z powiązanymi strukturami danych. Ale w rzeczywistości są to pojemniki odniesień do przedmiotów, a nie ich kopii. Są jak książka adresowa. Wszystkie elementy listy wskazują lokalizację pożądanego obiektu. W tym przypadku listy Pythona są podobne do tablic C, ale są implementowane w interpretera. ciąg python

Podstawowe operacje sekwencyjne

Formalnie są trzy kategorie danych w języku. Są to liczby, mapy i sekwencje, do których należy typ listy. Dla każdej grupy istnieje wspólny zestaw operacji. Na przykład dodawanie, odejmowanie i mnożenie dla obiektów numerycznych lub dostęp do klucza do słowników.

Sekwencje mają również swoje charakterystyczne operacje:

  • dostęp do elementów za pomocą indeksów całkowitych __getitem __ ();
  • określenie długości __len __ ();
  • konkatenacja za pomocą operatora "+";
  • wyciąć plasterek [:].

Listy w akcji

Listy mają szerszy zakres możliwości niż łańcuchy w Pythonie. Jest to potężne narzędzie programistyczne z wieloma określonymi funkcjami, które mają zastosowanie tylko do listy typów.

Jak wyglądają metody list w praktyce:

  • >>> my_list = ["jeden", "2", "trzy"] # utwórz nową listę;
  • >>> moja_lista;
  • ["Jeden", "2", "trzy"];
  • >>> len (moja_lista);
  • 3 # tłumacz zwraca długość;
  • >>> my_list + [1, 2, 3] # wykonaj konkatenację;
  • ["Jeden", "2", "trzy", 1, 2, 3];
  • >>> my_list * 2 # powtórzenia;
  • ["Jeden", "2", "trzy", "jeden", "2", "trzy"].

Podczas wykonywania konkatenacji po obu stronach znaku "+" należy znaleźć sekwencje tego samego typu, w przeciwnym razie interpreter wyświetli komunikat o błędzie:

  • >>> [1, 2, 3] + 3.14 # TypeError: może tylko łączyć listę (nie "float") do listy.

Aby dodać ciąg i listę w Pythonie, musisz wykonać wstępną konwersję dla typu str:

  • >>> second_list = list ("string") # przekształć obiekt "string";
  • >>> druga lista;
  • ["S", "t", "p", "o", "k", "a"] # lista zwrotów tłumacza;
  • >>> druga lista + moja lista;
  • ["S", "t", "p", "o", "k", "a", "jeden", "2", "trzy"].

Tworząc listę w Pythonie, musisz przestrzegać ścisłych reguł składni. Każdy obiekt musi być ujęty w nawiasy kwadratowe, a elementy są oddzielone przecinkami. lista sortowania Pythona

Co to jest generacja iteracji i listy?

Iteracja to proces powtarzania. W kontekście list jest to alternatywny postęp poprzez elementy powtarzanego obiektu. Na przykład:

  • >>> 3 w [1, 2, 3] # sprawdź czy podany element jest zawarty;
  • Prawda;
  • >>> dla x w [1, 2, 3, 4]: # wykonaj iterację;
  • print (x);
  • 1;
  • 2;
  • 3;
  • 4

Jeśli iteracja jest po prostu przejściem każdego elementu, to generowanie jest procesem tworzenia nowego obiektu listy typów. W Pythonie generatory list wyglądają jak dla pętli, ale działają szybciej, a syntaktycznie wyglądają znacznie prościej:

  • >>> List_1 = [c * 4 dla c w "SPAM"] # tak wygląda generacja;
  • >>> List_1;
  • ["SSSS", "PPPP", "AAAA", "MMMM"];
  • >>> List_2 = [];
  • >>> dla c w "SPAM": # podobne polecenie generacji;
  • List_2.append (c * 4) # list.append () dodaje nowe elementy;
  • >>> List_2;
  • ["SSSS", "PPPP", "AAAA", "MMMM"].

W obu przykładach wynik jest identyczny. Ale używając generatora, kod jest znacznie krótszy i łatwiejszy. To podejście jest w pełni zgodne z Zen of Python. To jest Zen, czyli kod języka, w którym jeden z punktów brzmi: "Prostota jest lepsza niż skomplikowana". generator listy Pythona

Wyciągnięcie plasterka i dostęp do indeksu

Te dwie operacje mają podobny wygląd i umożliwiają obsługę poszczególnych elementów list w Pythonie. Ale jest znacząca różnica. W wyniku indeksowania zwracana jest osobna część sekwencji. A wyodrębnienie plasterka tworzy nowy obiekt listy:

  • >>> Lista1 = ["spam", "Spam", "SPAM!"]
  • >>> List1 [2] # offset zaczyna się od zera
  • "SPAM!"
  • >>> Lista1 [-2] # przesunięcie ujemne: liczona od prawej
  • Spam
  • >>> List [1:] Operacja ekstrakcji plasterka # zwraca sekcje obiektów
  • ["Spam", "SPAM!"]

Jak działa ekstrakcja plasterka i jego możliwości

Konstrukcje językowe pozwalają nie tylko wyodrębniać, ale także zmieniać poszczególne elementy, przypisując im nowe wartości. W rezultacie zwracana jest ta sama lista, tylko z inną zmienną. Ta operacja jest podobna do przypisania w indeksie w języku C. Interpreter zamienia stare odwołanie na obiekt określony w offsecie na nowy:

  • >>> my_list = ["jeden", "osiem", "sto"];
  • >>> my_list [0: 2] = ["dziewięćdziesiąt osiem", "dziewięćdziesiąt dziewięć"];
  • >>> moja_lista;
  • ["Dziewięćdziesiąt osiem", "dziewięćdziesiąt dziewięć", "sto"].

Jest to dość skomplikowana operacja, która odbywa się w kilku etapach. Najpierw interpreter usuwa wszystkie elementy po lewej stronie operatora. W tym przykładzie jest to "jeden" i "osiem". Następnie wszystkie obiekty po prawej stronie operatora są wstawiane do listy, zaczynając od lewej krawędzi.

Opisany proces zapewnia elastyczną pracę z cięciami. Liczba elementów do usunięcia i dodania może być różna. Ta operacja jest odpowiednia do usuwania i zastępowania obiektów, a także do rozszerzania list. Jest to całkiem skuteczny sposób na obsługę kodu. Ale programiści rzadko używają go w praktyce, preferując prostsze wstawianie, pop i usuwanie instrukcji. lista funkcji Pythona

Określone metody obiektów listy typów

Większość metod lub funkcji ma na celu bezpośrednią zmianę obiektu. Najczęściej jest .append (). Dodaje pozycje na końcu listy:

  • >>> my_L = ["I", "love", "program", "on"];
  • >>> my_L;
  • ["I", "love", "program", "on"];
  • >>> my_L.append ("Python") # doda element określony w nawiasie;
  • >>> my_L;
  • ["I", "love", "program", "on", "Python"].

Inna równie popularna metoda nazywa się sort (). Przeznaczony do sortowania list w Pythonie. Metoda zmienia kolejność elementów za pomocą standardowych operatorów porównania. Może być również używany do bardziej złożonych zadań z użyciem nazwanych argumentów:

  • >>> L = ["abc", "ABD", "aBe"];
  • >>> L.sort (key = str.lower, reverse = True) # Zmienia kierunek sortowania;
  • >>> L;
  • ["ABe", "ABD", "abc"].

W przykładzie użyto składni "nazwa = wartość" do przekazania ustawień. Kluczowy argument pozwala ci ustawić własne parametry do porównania. W tym przypadku są to elementy z małą literą. Odwrotność oznacza "przeciwieństwo", to jest w porządku malejącym, nie zwiększając. tworzenie listy pseudonimów

Metody pułapek

Podczas pracy z tymi metodami należy wziąć pod uwagę następujące funkcje: .sort () i .append () zmieniają listę, ale jej nie zwracają. Konstrukcja my_list = List.sort () nie ma znaczenia ani wyniku. Dlatego w najnowszych wersjach językowych programiści wprowadzili funkcję sorted (), która przyjmuje argument jako argument:

  • >>> my_list = [1, 100, 56, 34, 2, 99];
  • >>> double_list = my_list.sort ();
  • >>> double_list # interpreter nic nie zwraca;
  • >>> moja_lista;
  • [1, 2, 34, 56, 99, 100];
  • >>> double_list = sorted (my_list);
  • >>> double_list;
  • [1, 2, 34, 56, 99, 100] # interpreter zwraca posortowaną kopię obiektu.

Dodatkowe metody

Python zapewnia dodatkowe metody wykonywania wyspecjalizowanych procesów przetwarzania list. Na przykład odwrotność służy do zmiany kolejności elementów. Aby wstawić wiele elementów na końcu lub usunąć, potrzebujesz metod rozszerzania i pop. Istnieje również funkcja odwrócona, która przypomina sortowane, ale jest używana przez wywołanie listy:

  • >>> L;
  • [4, 3, 2, 1];
  • >>> lista (odwrócona (L)) # wbudowana funkcja sortowania w odwrotnej kolejności;
  • [1, 2, 3, 4].

Wszystkie rozważane operacje są najczęściej stosowane do list i mają charakter podstawowy. Ale są wysoce wyspecjalizowane metody. Na przykład .copy (), która tworzy płytką kopię obiektu, i .count (), która zwraca liczbę elementów. Aby zobaczyć całą listę funkcji dostępnych w Pythonie, które dotyczą obiektu listy, musisz wprowadzić help () lub dir () w tłumaczu.