Naucz się struktura danych listy Python - część 1

Naucz się struktura danych listy Python - część 1

Struktura danych to gromadzenie typów danych, związek między nimi oraz funkcje lub operacje, które można zastosować na danych. Typ danych może być strunowy, Liczba całkowita, Wartość pływająca i tak dalej.

Jaka jest różnica między obiektem zmiennym/niezmiennym?
Zmienione obiekty
  1. Obiekty, których stan można zmienić po utworzeniu, jak dodawanie, aktualizacja lub usuwanie elementów.
  2. Listy, słownik, zestaw, bajtowe są mianowalnymi typami obiektów w Pythonie.
Niezmienne obiekty
  1. Nie można zmodyfikować stanu obiektu. Po utworzeniu obiektu nie możemy dodawać, usuwać ani aktualizować elementów.
  2. Sznur, liczba całkowita, krotki, mrożone to niektóre z niezmiennych typów obiektów w Pythonie.
Jaka jest różnica między jednorodną/heterogeniczną strukturą danych?
  1. Jednorodna struktura danych - Elementy danych będą miały ten sam typ danych (np.: Tablica).
  2. Heterogeniczna struktura danych - Elementy danych mogą nie mieć tego samego typu danych (np.: Lista, krotki, zestawy itp.).
Jakie są prymitywne i niepryminitywne typ danych?
Prymitywne i niepryminitywne typy danych

Przed zrozumieniem funkcjonalności wbudowanej struktury danych pozwól nam zobaczyć kilka wbudowanych funkcji, które będą używane z obiektami struktury danych.

  • Dir (OBJ) - wbudowana funkcja, która zwróci atrybut i metody.
  • Len (OBJ) - Zwróć długość (liczba elementów) obiektu. Argumentem może być sekwencja (taka jak ciąg, bajty, krotka, lista lub zakres) lub kolekcja (taka jak słownik, zestaw lub zamrożony zestaw).
  • del - To wbudowane słowo kluczowe służy do usuwania obiektu z przestrzeni nazw lub usuwania elementów z obiektu, takiego jak lista, słownik itp
  • Typ (OBJ) - Funkcja type () zwraca typ obiektu lub zwraca nowy typ typu na podstawie przekazanych argumentów.
  • ID() - Ta funkcja zwraca „tożsamość” obiektu. Jest to liczba całkowita, która gwarantuje, że jest unikalny i stały dla tego obiektu w ciągu swojego życia.

Teraz, jak widziałeś kilka ważnych szczegółów, kontynuujmy z Python Data Structures.

Pyton W zestawie wbudowane Struktury danych a także użytkownicy mogą zdefiniować własne struktury danych. Wbudowana struktura danych obejmuje LISTA, SŁOWNIK, Tuple, I USTAWIĆ. Niektóre przykłady dla struktur danych zdefiniowanych przez użytkownika to STOS, Kolejki, DRZEWO, Hashmap, itp…

Osoby pochodzące z innych języków programowania będą bardzo zaznajomione z typem tablicy. Ale w Pythonie nie są one tak powszechne.

Tutaj lista jest podobna do tablicy, ale lista pozwala nam przechowywać wartości dowolnego typu danych (heterogeniczne), podczas gdy tablica będzie przechowywać tylko dane określonego typu (int, float itp.). Aby użyć tablicy, musisz wyraźnie zaimportować tablicę z modułu „tablica”.

W tej serii artykułów w Python będziemy patrzeć na to, co jest struktura danych I wbudowana struktura danych Pythona.

Część 1: Struktura danych Python - lista Część 2: Struktura danych Pythona - krotki Część 3: Struktura danych Pythona - słownik Część 4: Struktura danych Python - Set/Frozenset

LISTA

Lista to struktura danych, która jest zbiorem różnych typów danych. Co robi "Zbieranie różnych typów danych" oznacza? Lista może przechowywać struny, liczby całkowite, wartości zmiennoprzecinkowe, zagnieżdżona lista i tak dalej.

Lista Obiekty są „Zmienny”Co oznacza, że ​​elementy utworzone w liście można uzyskać, modyfikowane lub usunięte. Indeksowanie wsparcia listy. Każdy element na listach jest przypisany do adresu, a adres ten można użyć do dostępu lub modyfikacji określonej wartości elementu.

  • Stwórz listę
  • Włóż/dostęp/modyfikuj listę
  • Usuń listę

SPORZĄDZAĆ LISTĘ

Lista można tworzyć za pomocą nawiasów kwadratowych.

>>> name_Empty = [] # pusta lista >>> name = [„Karthi”, „leo”, „Matt”, „Kane”, „Scott”, „Petter”, „Will”] # Lista z typem danych string >>> name_int = [1,2,3] # lista z liczbą danych liczb całkowitych >>> name_mixed = [name_int, nazwa, 1,2,3.14] # Lista z zagnieżdżonymi elementami listy. >>> name_mixed [[1, 2, 3], [„karthi”, „leo”, „Matt”, „Kane”, „Scott”, „Petter”, „Will”], 1, 2, 3.14] >>> name_int [1, 2, 3] 

Możemy użyć wbudowanych typ() funkcja, aby sprawdzić typ obiektu.

>>> Typ (nazwa) 
Utwórz listę w Python

Możemy uzyskać dostęp do metody I atrybuty z lista instancja za pomocą Dir () funkcjonować.

>>> dir (nazwa) [„__add__”, „__class__”, „__Contains__”, „__Delattr__”, „__DELITEM__”, „__dir__”, „__doc__”, „__eq__”, '__format__', '__ge__', '__getAttribute__ ', „__getItem__”, „__gt__”, „__hash__”, „__iadd__”,' __imul__ ',' __init__ ',', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__',, ',', '__mul__',, ',', '__mul__',, „__Ne__”, „__new__”, „__Reduce__”, „__Reduce_ex__”, „__repr__”, „__reversed__”, „__rmul__”, „__setattr__”, „__setitem__”, '__Sizef__', '__str__', '__subclasshassHookst', „append. „,„ wyczyść ”,„ copy ”,„ hrabia ”,„ rozszerzenie ”,„ indeks ”,„ insert ”,„ pop ”,„ renve ”,„ reverse ”,„ sort ”]] 

Możemy znaleźć całkowitą liczbę elementów na liście za pomocą len () metoda.

>>> len (nazwa) 

Możemy utworzyć nową listę z istniejącej listy za pomocą lista.Kopiuj() metoda.

>>> name_new = nazwa.copy () >>> name_new [„karthi”, „leo”, „Matt”, „Kane”, „Scott”, „Petter”, „Will”] 
Sprawdź metody i atrybuty listy

Lista wkładania / dostępu / modyfikowania / modyfikowania

Możemy wstawić element do listy w dowolnej pozycji za pomocą lista.Wstaw (i, x) metoda.

>>> name = [„leo”, „Matt”, „Kane”, „Scott”, „petter”, „Will”] >>> imienia [„leo”, „matt”, „kane”, „Scott” , „Petter”, „Will”] >>> Imię.wstaw (0, „tom”) # Metoda wstawienia bierze 2 argumenty (pozycja indeksu, pozycja) >>> Nazwa [„tom”, „leo”, „matt”, „kane”, „scott”, „petter”, ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ', Will '] # tom jest wstawiany w pozycji 0. 
Wstaw elementy na liście

Możemy użyć lista.Dodatek (x) Metoda dołączenia pojedynczego elementu na listę. To wstawię pozycję na koniec listy.

>>> name = [] >>> len (nazwa) 0 >>> Nazwa.append („leo”) >>> nazwa.append („Matt”) >>> Nazwa.append („kane”) >>> drukuj (nazwa) [„leo”, „Matt”, „Kane”] 
Dołącz element na liście

Możemy użyć lista.rozszerzyć() metoda dodania wielu elementów do listy.

>>> new_name = [„gowtham”, „Martin”, „luis”] >>> Imię imienia.exter (new_name) >>> Imię [„will”, „petter”, „scott”, „kane”, „Matt”, „leo”, „karthi”, „will”, „gowtham”, „Martin”, ',', ',', ',', Luis '] 
Dodaj wiele elementów do listy

Możemy również użyć „+” operator, aby połączyć dwie listy. Obie lista może mieć różne typy danych.

>>> a = [1,2,3] >>> b = [2,3,3] >>> c = a + b >>> c [1, 2, 3, 2, 3, 3]> >> d = [„Karthi”, „Kenny”] >>> e = a + d >>> e [1, 2, 3, „Karthi”, „Kenny”] 
Połącz dwie listy w Pythonie

Jak już wspomniano, listy obiekty są zmienne. Element listy można zmodyfikować, odwołując się do pozycji indeksu i przypisując wartość do niej.

>>> Nazwa # Przed zmodyfikowanym [„tom”, „leo”, „Matt”, „Kane”, „Scott”, „Petter”, „Will”] >>> Imię [0] = „Karthi” >>> Nazwa # po zmodyfikowanym [„Karthi”, „Leo”, „Matt”, „Kane”, „Scott”, „Petter”, „Will”] 
Zmodyfikuj pozycję listy według pozycji indeksu

lista obsługuje zarówno pozytywne, jak i negatywne indeksowanie.

Indeksowanie zaczyna się od 0 i ujemne indeksowanie zaczyna się od -1.

Indeksowanie Python

Możemy uzyskać dostęp do elementu listy za pomocą ich pozycji indeksu.

>>> Nazwa [0] # Dostęp do elementu listy przy indeksie 0 „leo” >>> Nazwa [1] „Matt” >>> Nazwa [4] „Petter” >>> Imię [5] „Will” >> > Nazwa [-1] # Dostęp do elementu listy z negatywnym indeksowaniem „Will” >>> Nazwa [-6] „Leo” 
Element listy dostępu za pomocą pozycji indeksu

Możemy również użyć krojenia, aby uzyskać dostęp do elementów na liście. Krojenie pozwala nam uzyskać dostęp do zakresu elementów, definiując parametry początkowe, zakończenia, kroku.

# Składnia: lista [pozycja początkowa, pozycja końcowa, krok] >>> Nazwa [0: 3] [„tom”, „leo”, „Matt”] >>> Nazwa [:] [„tom”, „leo” , „Matt”, „Kane”, „Scott”, „Petter”, „Will”] >>> Imię [: 4] [„tom”, „leo”, „Matt”, „Kane”] >>> Imię Nazwa [: -2] [„tom”, „leo”, „Matt”, „Kane”, „Scott”] >>> Nazwa [:-1] [„tom”, „leo”, „Matt”, „Kane „,„ Scott ”,„ petter ”] >>> Imię [:-1: 2] [„ tom ”,„ Matt ”,„ Scott ”] 
Zakres dostępu na liście

Możemy znaleźć liczbę występów dla danej wartości za pomocą lista.hrabia (x) metoda.

>>> name_int = [1,1,2,3,1] >>> name_int.Zlicz (1) 3 
Znajdź występowanie wartości

Możemy znaleźć pozycję indeksu danego elementu za pomocą lista.indeks (x [, start [, end]]) metoda.

>>> Nazwa # Wstaw „Will” na końcu listy. Teraz mamy 2 nazwiska „Will”. [„Will”, „Petter”, „Scott”, „Kane”, „Matt”, „Leo”, „Karthi”, „Will”] >>> Imię Nazwa.indeks („will) # Zwraca pozycję indeksu pierwszego występu x. 0 >>> Imię.indeks („will”, 2) # początkowe indeks pozyton'2 'jest podany. 7 >>> Imię.indeks („will”, 2,4) # Podano pozycję indeksu początkowego i końcowego. Ponieważ nie ma „woli” w danej pozycji wyszukiwania, rzuci błąd wartości. Traceback (najnowsze połączenie ostatnie): plik „”, wiersz 1, w Valueerror: „Will” nie jest na liście 

Możemy użyć lista.odwracać() metoda odwrócenia elementów na liście.

>>> Nazwa [„Karthi”, „leo”, „Matt”, „Kane”, „Scott”, „petter”, „Will”] >>> Imię Imię.reverse () >>> Nazwa [„will”, „petter”, „Scott”, „Kane”, „Matt”, „leo”, „Karthi”] 
Odwrotne elementy na liście

Usuń listę

Możemy użyć lista.pop (x) metoda usuwania elementu z listy pod adresem X pozycja. Ta funkcja usunie element z listy i wyświetli usunięty element. Jeśli X nie jest wtedy określone Muzyka pop() Metoda zwróci ostatni element z listy.

>>> Imię [„Will”, „Petter”, „Scott”, „Kane”, „Matt”, „Leo”, „Karthi”, „Will”, „Gowtham”, „Martin”, „Luis”]> >> Imię.Pop (0) „Will” >>> Nazwa [„Petter”, „Scott”, „Kane”, „Matt”, „Leo”, „Karthi”, „Will”, „Gowtham”, „Martin”, „Luis” '] >>> Imię.pop () „Luis” 

Możemy również użyć lista.Usuń (x) metoda usuwania elementu z listy. Tutaj X przyjmuje wartość elementu i rzuca ValueerRor Jeśli X nie ma na liście.

>>> name = [„leo”, „Matt”, „Kane”, „Scott”, „petter”, „Will”] >>> Imię imienia.Usuń („leo”) >>> Nazwa [„Matt”, „Kane”, „Scott”, „Petter”, „Will”] >>> Imię Imię.Usuń („leo”) traceback (najnowsze połączenie ostatnie): plik „”, wiersz 1, w valerorror: lista.Usuń (x): x nie na liście 

Możemy stworzyć listę pustą, przypisując nazwę listy do nawiasów kwadratowych lub używając lista.jasne() metoda.

>>> name1 = nazwa.copy () >>> Name1 [„petter”, „Scott”, „Kane”, „Matt”, „leo”, „karthi”, „will”, „gowtham”, „Martin”] >>> imienia ['' Petter ', „Scott”, „Kane”, „Matt”, „Leo”, „Karthi”, „Will”, „Gowtham”, „Martin”] >>> name = [] >>> Nazwa [] >> > Nazwa1.clear () >>> name1 [] 

Zamiast używać metod listy do opróżnienia listy lub usunięcia elementu z listy, możemy użyć wbudowanego słowa kluczowego del Aby wykonać te działania. „Del” Słowo kluczowe może usunąć obiekt listy z pamięci lub usunąć element z listy lub usunąć element z plastra.

>>> name = [„leo”, „Matt”, „Kane”, „Scott”, „petter”, „Will”] >>> del Nazwa [0] >>> Nazwa [„Matt”, „Kane” , „Scott”, „petter”, „Will”] >>> Del Nazwa [-3:] >>> Nazwa [„Matt”, „Kane”] >>> del Nazwa [:] >>> Nazwa [] 

Wbudowany ID() Funkcja zwraca „tożsamość”Obiekt. Jest to liczba całkowita, która gwarantuje, że jest unikalny i stały dla tego obiektu w ciągu swojego życia.

>>> ID (nazwa) 139979929658824 >>> Del Nazwa >>> id (nazwa) Traceback (najnowsze połączenie ostatnie): plik "", wiersz 1, w nameeRror: Nazwa „nazwa” nie jest zdefiniowana 

Notatka: Usunęliśmy zmienną listę z pamięci za pomocą del (), stąd rzuca błąd nazwy.

Help () Funtion: 

Wbudowane z pomocy funkcjonować() jest bardzo przydatne, aby uzyskać szczegółowe informacje na temat określonego obiektu lub metod tego obiektu.

Pomoc (obiekt) (obiekt.metoda) 
Streszczenie

Do tej pory w tym artykule widzieliśmy, jak możemy użyć Wymień strukturę danych do przechowywania, dostępu, modyfikacji, usuwania obiektów listy za pomocą metod listy. Widzieliśmy również niektóre wbudowane funkcje, takie jak ID(), Dir (), typ(), pomoc() które są bardzo skutecznymi funkcjami. Mamy również rozumienie listy w Pythonie, który zapewnia bardziej zwięzły i czytelny sposób tworzenia listy.