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

Listy Pythona są uporządkowanymi kolekcjami. Są ważnym elementem kodu programu. Listy odnoszą się do osadzonych obiektów językowych. Za ich pomocą można szybko i skutecznie przetwarzać dużą ilość informacji i struktur danych o dowolnej złożoności.

Właściwości i cechy listy obiektów

Listy są elastycznymi i zmiennymi typami danych. Mogą być dowolnej długości i zawierać nieograniczoną ilość informacji. Jako elementy sekwencji można używać łańcuchów, prostych i poprawnych liczb, słowników. Każda lista zmiennych w Pythonie może być indywidualnie przetwarzana, usuwana lub zastępowana. Lista zawiera pewien 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 do przesunięcia, to znaczy numeru obiektu.
  • Listy w języku Python mają niejednorodność. Sekwencja może zawierać obiekty różnych typów, w tym liczby, odwzorowania, linie, pliki.
  • Listy należą do kategorii obiektów zmiennych z nieograniczoną liczbą zagnieżdżeń.
  • Listy można mylić z powiązanymi strukturami danych. Ale w rzeczywistości są to odniesienia do kontenerów do obiektów, a nie do ich kopii. Są jak książka adresowa. Wszystkie pozycje na liście wskazują lokalizację, w której znajduje się żądany obiekt. Na tej liście Python jest podobny do tablic języka C, ale implementowany w tłumaczu.

    Podstawowe operacje sekwencji

    Formalnie w języku występują trzy kategorie. Te liczby sąwyświetlacz i sekwencja, które obejmują listę typów. Dla każdej grupy istnieje ogólny zestaw operacji. Na przykład dodawanie, odejmowanie i mnożenie dla obiektów numerycznych lub klucza dostępu do słowników.


    Sekwencja jest również charakteryzuje się operacji
  • dostępu do elementu przy użyciu wskaźników całkowite __getitem __ ();
  • Określanie długości __len __ ();
  • konkatenacja za pomocą operatora "+";
  • Wyciągnięcie wycięcia [:].
  • Listy w akcji

    Listy mają szerszy zakres funkcji niż ciągi w Pythonie. Jest to potężne narzędzie programistyczne z wieloma określonymi funkcjami, mające zastosowanie tylko do listy typów. Jak wygląda lista metod w praktyce:
  • moja lista = [jeden, dwa, trzy] # tworzenie nowej listy;
  • moja lista;
  • ["jeden", "2", "trzy"];
  • len (moje zestawienia);
  • 3 # tłumacz zwraca długość;
  • moja lista [+ 1, 2, 3] # konkatenacja;
  • [jeden, dwa, trzy, jeden, dwa, trzy];
  • moja lista * 2 # powtórzyć;
  • [jeden, dwa, trzy, jeden, dwa, trzy].
  • Przy wykonywaniu konkatenacji na każdej stronie znaku „+” powinien być taki sam rodzaj zlecenia, w przeciwnym razie komunikat błędu tłumacza:
  • [1, 2, 3] + 314 # TypeError: może tylko listy złączyć (nie « float ») do listy.
  • W celu dokonania ciąg Python i listy do wykonywania konwersji typu pre-Str:
  • vtoroy_spysok = list («string„) # Konwersja obiektu "string";
  • druga lista;
  • ["S", "t", "P", "O", "k", "A"] # interpretera zwraca wykazu;
  • druga lista + moja_lista;
  • ["c", "t", "p", "o", "k", "a","Jeden", "2", "trzy"].
  • Podczas tworzenia listy w Pythonie należy przestrzegać ścisłych zasad składni. Każdy obiekt musi być ujęty w nawiasy kwadratowe, a elementy oddzielone przecinkami.

    Czym są iteracje i generatory list?

    Iteracja jest procesem powtórzenia. W kontekście list - jest to progresywny postęp na elementach iterowanego obiektu. Na przykład:
  • 3 w [1, 2, 3] # sprawdzi, czy określony element jest zawarty;
  • Prawda;
  • dla x w [1, 2, 3, 4]: # wykona iterację;
  • print (x);
  • 1;
  • 2;
  • 3;
  • 4.
  • Jeśli powtórzenie - po prostu pominąć każdy element, wytwarzanie jest procesem tworzenia nowej listy typ obiektu. W Pythonie generatory podobnych do listy trwa, ale raczej pracę i składniowo wygląda o wiele prostsze:
  • Spysok_1 = [c * 4 dla c «w» SPAM] # jakiego pokolenia;
  • Lista_1;
  • ["SSSS", "PPPP", "AAAA", "MMMM"];
  • ​​
  • Lista_2 = [];
  • dla c w "SPAM": # podobne do polecenia generacji;
  • List_2.append (c * 4) # list.append () dodaje nowe elementy;
  • Lista_2;
  • [«SSSS», «PPPP», «AAAA», «MMMM»].
  • W obu przykładach wynik jest identyczny. Ale przy użyciu generatora kod staje się znacznie krótszy i łatwiejszy. To podejście jest w pełni zgodne z The Zen of Python. Jest to zen, czyli kod języka, w którym jeden z punktów: "Łatwiej jest spasować".
    ,

    , Ekstrakt plaster i dostęp wskaźnika

    Te dwie operacje są pozornie podobne i może pracować na poszczególne elementy Pythonie. Ale jest znacząca różnica. W wyniku indeksacji zwracana jest osobna część sekwencji. Cięcie plastra tworzy nowy obiektlista typów

  • Spysok1 = ["spamu", "spamu," "! spamu"],
  • Spysok1
  • Przemieszczenie # odliczanie rozpoczyna się od zera, ,
  • SPAM!
  • Spysok1 [-2] # ujemną polaryzacją mierzone tuż
  • "SPAM"
  • Lista [1:] # operacji ekstrakcji sekcji redukcji obiektu
  • [„Spam”, „Spam”]
  • W jaki sposób operacja wydobycia i wyciąć swoje możliwości

    język projekt może nie tylko odbierać, ale również zmienić pewne elementy, nadając im nowe znaczenie. W rezultacie zwraca tę samą listę, tylko z innej zmiennej. Ta operacja jest podobna do przydzielania wskaźnika w C. interpretera zastępuje starego odniesienie do określonego obiektu w nowej zmiany:
  • moy_spysok = [„jeden”, „osiem”, „hundred”];
  • moja lista [0: 2] = [dziewięćdziesiąt osiem, dziewięćdziesiąt dziewięć];
  • moje zestawienia;
  • ["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 na listę począwszy od lewej krawędzi. Opisany proces zapewnia elastyczną pracę z cięciami. Numer zostanie usunięty, a dodane elementy mogą być inne. Ta operacja jest odpowiednia do usuwania i zastępowania obiektów, a także do rozszerzania list. Jest to skuteczny sposób na obsługę kodu. Ale programiści rzadko używają go w praktyce, preferując prostsze instrukcje wstawiania, popowania i usuwania.

    Określone metody obiektów listy typów

    Większośćmetody lub funkcje mające na celu bezpośrednią zmianę obiektu. Najczęściej jest .append (). Dodaje pozycje na końcu listy:
  • my_L = ["I", "love", "program", "on"];
  • my_L;
  • ["Ja", "miłość", "program", "na"];
  • my_L.append ("Python") # doda element określony w nawiasach;
  • my_L;
  • ["Ja", "miłość", "program", "włączony", "Piton"].
  • Inna, równie popularna metoda nazywa się sort (). Zaprojektowany do sortowania list w Pythonie. Metoda wykonuje zmianę elementów za pomocą standardowych operatorów porównania. Może być również używany do bardziej złożonych zadań przy użyciu nazwanych argumentów:
  • L = ["abc", "ABD", "aBe"];
  • L. variety (key = str.lower, reverse = True) # Modyfikuje kierunek sortowania;
  • L;
  • ["aBe", "ABD", "abc"].
  • W tym przykładzie użyto konstruktu syntaktycznego "nazwa = wartość" do przekazania parametrów konfiguracyjnych. Kluczowy argument pozwala określić własne parametry do porównania. W tym przypadku są to elementy małej litery. Odwrotność oznacza "przeciwnie", to jest w porządku malejącym, a nie rosnącym.

    Metody kamieni podwodnych

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

  • moja lista = [1, 100, 56, 34, 2, 99];
  • dubl_scripts = my_list.sort ();
  • dubl_spesk # tłumacz nie zwraca niczego;
  • moje zestawienia;
  • [1, 2,34, 56, 99, 100];
  • dubl_scripts = sorted (mylists);
  • dubl_scripts;
  • [1, 2, 34, 56, 99, 100] # interpreter zwraca posortowaną kopię obiektu.
  • Dodatkowe metody

    Python oferuje dodatkowe metody wyspecjalizowanego przetwarzania list. Na przykład, aby zmienić kolejność następujących elementów za pomocą odwrócenia. Rozszerz i pop metody, aby wkleić wiele elementów na koniec lub je usunąć. Istnieje również funkcja odwrócona, która przypomina sortowaną, ale używana przez listę połączeń:
  • L;
  • [4, 3, 2, 1];
  • lista (odwrócona (L)) # wbudowana funkcja sortowania w odwrotnej kolejności;
  • [1, 2, 3, 4].
  • Wszystkie rozważane transakcje są najczęściej używane w przypadku list i mają charakter podstawowy. Ale są wysoce wyspecjalizowane metody. Na przykład .copy (), która tworzy powierzchowną kopię obiektu, i .count (), która zwraca liczbę elementów. Aby zobaczyć wszystkie dostępne funkcje Pythona dla funkcji listy, musisz wprowadzić help () lub dir () w tłumaczu.

    Powiązane publikacje