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.
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:
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.
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:
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:
Podczas wykonywania konkatenacji po obu stronach znaku "+" należy znaleźć sekwencje tego samego typu, w przeciwnym razie interpreter wyświetli komunikat o błędzie:
Aby dodać ciąg i listę w Pythonie, musisz wykonać wstępną konwersję dla typu str:
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.
Iteracja to proces powtarzania. W kontekście list jest to alternatywny postęp poprzez elementy powtarzanego obiektu. Na przykład:
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:
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".
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:
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:
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.
Większość metod lub funkcji ma na celu bezpośrednią zmianę obiektu. Najczęściej jest .append (). Dodaje pozycje na końcu listy:
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:
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.
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:
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:
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.