Wyszukiwanie w witrynie

Poznaj strukturę danych słownika Pythona – część 3


W tej części 3 serii Python Data Structure omówimy, czym jest słownik, czym różni się od innych struktur danych w Pythonie, jak tworzyć, usuwać obiekty słownika i metody obiektów słownika.

  • Słownik jest wbudowaną implementacją „Struktury danych Pythona”, która jest zbiorem par „Klucz: Wartość”.
  • Słownik jest tworzony przy użyciu nawiasów klamrowych, a klucz i wartość są oddzielone średnikiem {Key: Value.
  • Podobnie jak lista, obiekty słowników są zmiennymi typami danych, co oznacza, że obiekty można modyfikować po utworzeniu słownika.
  • Konstrukcja implementacji słownika w Pythonie jest bardziej znana jako „Tablica asocjacyjna”.
  • Na liście lub krotkach możemy uzyskać dostęp do elementów, odwołując się do ich pozycji w indeksie, ponieważ elementy na liście są uporządkowane (tj. przechowywane w kolejności, w jakiej zostały utworzone). Obiekty słownika mogą być w dowolnej kolejności, ponieważ dostęp do nich można uzyskać za pomocą powiązanego z nimi „Klucza”.
  • Słowniki są bardzo przydatne, gdy musimy przechowywać obiekty i odnosić się do nich po nazwie.
  • Obiekt słownika „key” musi być typu unikalnego i niezmiennego.
  • Obiektem słownika „Key” może być ciąg znaków, liczba całkowita lub wartości zmiennoprzecinkowe.
  • Słownik „Wartości” może mieć dowolny typ danych.

Skonstruuj obiekt słownika

Obiekt Dictionary można utworzyć za pomocą nawiasów klamrowych ze średnikiem oddzielającym parę klucz i wartość „{Key:value” lub konstruktor „dict()” metoda.

Aby to zademonstrować, utworzę słownik, który będzie przechowywać dane o drużynie piłkarskiej i jej grającej jedenastce z pozycją jako kluczową i zawodnikiem nazwy jako wartości.

Do skonstruowania obiektu słownika możesz użyć metody konstruktora dict().

Uzyskaj dostęp do obiektu słownika

Dostęp do elementów słownika można uzyskać za pomocą odwołań „klucza” zamiast indeksowania. Można zastosować indeksowanie, jeśli w słowniku mamy dowolny typ danych sekwencyjnych (string, lista, krotki itp.).

Dostęp do elementów można uzyskać za pomocą dic_object[„key ”].

KeyError” zostanie zgłoszony, jeśli spróbujesz uzyskać dostęp do elementów słownika za pomocą indeksowania lub jeśli spróbujesz uzyskać dostęp do „klucza”, który nie jest częścią słownika.

Modyfikuj i usuwaj obiekt słownika

Możesz zmodyfikować istniejący element lub dodać nowy element, bezpośrednio odwołując się do jego klucza Dictionary_object[„klucz”]=wartość. Spowoduje to aktualizację wartości, jeśli klucz jest dostępny, w przeciwnym razie dodaj nowy element do słownika.

Usuwać

Możesz usunąć konkretną wartość na podstawie jej klucza lub usunąć klucz lub obiekt słownika z przestrzeni nazw za pomocą wbudowanego słowa kluczowego „del”.

Metody słownikowe

Możesz użyć wbudowanej funkcji „dir()”, aby sprawdzić dostępne metody i atrybuty obiektu słownika.

clear() – ta metoda usunie wszystkie pozycje z obiektu słownika. Ta metoda nie przyjmuje żadnych argumentów.

Copy() – zwróci płytką kopię obiektu słownika. Metoda copy() nie przyjmuje żadnych parametrów jako argumentów.

Keys() – Ta metoda zwraca obiekt widoku dla kluczy dostępnych w słowniku jako obiekt klucza słownika. Ta metoda nie przyjmuje żadnych argumentów.

Values() – ta metoda zwraca obiekt widoku dla wartości z obiektu słownika. Ta metoda nie wymaga argumentów.

Items() – ta metoda zwraca parę krotek(klucz,wartość) z obiektu słownika.

Setdefault() – Ta metoda wyszukuje podany klucz w słowniku. Jeżeli klucz nie zostanie odnaleziony w słowniku to zostanie dodany do słownika.
Pobiera 2 argumenty dic.setdefault(key,[,wartość domyślna]).

Wartość domyślna jest ustawiona na Brak, jeśli nie określono żadnej wartości.

get() – Ta metoda zwraca wartość określonego klucza, jeśli klucz jest dostępny w słowniku.

Syntax dict.get(key[, value]) 

Ta metoda przyjmuje 2 argumenty. Pierwszy to argument wejściowy, który wyszuka podany klucz w słowniku i zwróci wartość znalezionego klucza. Drugi argument zwróci wartość, jeśli klucz nie zostanie znaleziony. Domyślna wartość zwracana jest ustawiona na „Brak”.

Update() – Metoda aktualizacji dodaje elementy do słownika, jeśli klucza nie ma w słowniku. Jeśli klucz zostanie znaleziony, zostanie on zaktualizowany o nową wartość. Metoda aktualizacji akceptuje inny obiekt słownikowy z pary k:v lub obiekt iterowalny z pary k:v, na przykład parę krotek.

Usuwanie/Usuwanie obiektu słownika

Pop() – ta metoda usuwa wartość na podstawie klucza jako danych wejściowych i zwraca usuniętą wartość.

Ta metoda akceptuje dwa parametry.

  1. Klucz – Klucz, który ma być przeszukiwany w obiekcie słownika.
  2. Domyślny – zwraca wartość do określenia, jeśli klucza nie znaleziono w słowniku.

UWAGA Jeśli klucz nie zostanie znaleziony w słowniku i nie określisz wartości domyślnej, zostanie zgłoszony komunikat „KeyError”.

Popitem() – Usuwa dowolne elementy z obiektu słownika. Żaden argument nie jest akceptowany i zwraca „KeyError”, jeśli słownik jest uznany za pusty.

Podobnie jak list i krotki, możemy użyć słowa kluczowego del, aby usunąć elementy z obiektu słownika lub usunąć obiekt słownika z przestrzeni nazw.

Streszczenie

W tym artykule zobaczyłeś, czym jest słownik i czym różni się od innych struktur danych w Pythonie. Widziałeś także, jak tworzyć, uzyskiwać dostęp, modyfikować i usuwać obiekty słownika.

Optymalny przypadek użycia słownika ma miejsce wtedy, gdy musimy przechowywać dane w oparciu o nazwę i odnosić się do nich po nazwie. W następnym artykule zobaczymy inny typ wbudowanej struktury danych w Pythonie „set/Frozenset”. Do tego czasu możesz przeczytać więcej o słownikach tutaj.