Słownik w Python ze składnią i przykładem

W czym jest słownik Python?

A Słownik w Python jest nieuporządkowaną i zmienną kolekcją wartości danych, która zawiera pary klucz-wartość. Każda para klucz-wartość w słowniku mapuje klucz na powiązaną z nią wartość, co czyni ją bardziej zoptymalizowaną. Słownik w Pythonie jest deklarowany przez zawarcie listy par klucz-wartość rozdzielonych przecinkami za pomocą nawiasów klamrowych ({}). Python Słownik jest podzielony na dwa elementy: klucze i wartości.

  • Klucze będą pojedynczym elementem
  • Wartości mogą być listą, listą w liście, liczbami, itd.

Składnia dla Python Słownik

Dict = { ' Tim': 18,  xyz,.. }

Słownik jest wymieniony w nawiasach klamrowych, wewnątrz tych nawiasów klamrowych deklarowane są klucze i wartości. Każdy klucz jest oddzielony od swojej wartości dwukropkiem (:), podczas gdy przecinki oddzielają każdy element.

Składnia dla Python Słownik

Właściwości kluczy słownikowych

Podczas korzystania z klawiszy słownika ważne są dwie kwestie

  • Niedozwolony jest więcej niż jeden wpis na klucz (niedozwolone jest duplikowanie klucza)
  • Wartości w słowniku mogą być dowolnego typu, natomiast klucze muszą być niezmienne, jak liczby, krotki
  • W kluczach słownika rozróżniana jest wielkość liter. Ta sama nazwa klucza, ale z różnymi przypadkami, jest traktowana jak różne klucze Python słowniki.

Python 2 Przykład

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}   
print (Dict['Tiffany'])

Python 3 Przykład

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}   
print((Dict['Tiffany']))
  • W kodzie mamy słownik o nazwie „Dict”
  • Zadeklarowaliśmy imię i wiek osoby w słowniku, gdzie imię to „Klucze”, a wiek to „wartość”
  • Teraz uruchom kod
  • Pobiera wiek Tiffany ze słownika.

Python Metody słownikowe

Kopiowanie słownika

Możesz także skopiować cały słownik do nowego słownika. Na przykład tutaj skopiowaliśmy nasz oryginalny słownik do nowej nazwy słownika „Boys” i „Girls”.

Python 2 Przykład

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}	
studentX=Boys.copy()
studentY=Girls.copy()
print studentX
print studentY

Python 3 Przykład

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}	
studentX=Boys.copy()
studentY=Girls.copy()
print(studentX)
print(studentY)
  • Mamy oryginalny słownik (Dict) z imionami i wiekiem chłopców i dziewcząt razem
  • Ale chcemy, aby lista chłopców była oddzielna od listy dziewcząt, dlatego zdefiniowaliśmy element chłopców i dziewcząt w oddzielnych nazwach słownikowych „Chłopcy” i „Dziewczyny”.
  • Teraz ponownie stworzyliśmy nowe słowniki o nazwach „student X” i „student Y”, w których wszystkie klucze i wartości słownika chłopca są kopiowane do ucznia X, a dziewczyny zostaną skopiowane do ucznia Y
  • Więc teraz nie musisz zaglądać do całej listy w głównym słowniku (dykt), aby sprawdzić, kto jest chłopcem, a kto dziewczynką, wystarczy wydrukować ucznia X, jeśli chcesz listę chłopców i StudentY, jeśli chcesz listę dziewcząt
  • Tak więc, kiedy uruchomisz słowniki student X i studentY, zostaną podane oddzielnie wszystkie elementy występujące w słowniku „chłopcy” i „dziewczyny”

Aktualizacja słownika

Możesz także zaktualizować słownik, dodając nowy wpis lub parę klucz-wartość do istniejącego wpisu lub usuwając istniejący wpis. W tym przykładzie dodamy kolejne imię „Sarah” do naszego istniejącego słownika.

Python 2 Przykład

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
Dict.update({"Sarah":9})
print Dict

Python 3 Przykład

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
Dict.update({"Sarah":9})
print(Dict)
  • W naszym istniejącym słowniku „Dict” nie ma nazwy „Sarah”.
  • Używamy metody Dict.update, aby dodać Sarę do naszego istniejącego słownika
  • Teraz uruchom kod, dodaje Sarę do naszego istniejącego słownika

Usuń klucze ze słownika

Python dictionary daje ci swobodę usuwania dowolnego elementu z listy słownika. Załóżmy, że nie chcesz, aby imię Charlie znajdowało się na liście, więc możesz usunąć element klucza za pomocą następującego kodu.

Python 2 Przykład

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
del Dict ['Charlie']
print Dict

Python 3 Przykład

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
del Dict ['Charlie']
print(Dict)

Kiedy uruchomisz ten kod, powinien wyświetlić listę słowników bez Charliego.

  • Użyliśmy kodu del Dict
  • Po wykonaniu kodu usuwany jest Charlie z głównego słownika

Metoda elementów słownika().

Metoda items() zwraca listę par krotek (Klucze, Wartość) w słowniku.

Python 2 Przykład

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "Students Name: %s" % Dict.items()

Python 3 Przykład

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("Students Name: %s" % list(Dict.items()))
  • Używamy metody code items() dla naszego Dict.
  • Po wykonaniu kodu zwraca listę elementów (kluczy i wartości) ze słownika

Sprawdź, czy dany klucz istnieje już w słowniku

Dla danej listy możesz także sprawdzić, czy nasz słownik podrzędny istnieje w słowniku głównym, czy też nie. Tutaj mamy dwa podsłowniki „Boys” i „Girls”, teraz chcemy sprawdzić, czy nasz słownik Boys istnieje w naszym głównym „Dict”, czy nie. W tym celu używamy metody pętli for z metodą else if.

Python 2 Przykład

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
for key in Boys.keys():
    if key in Dict.keys():
        print True
    else:       
        print False


Python 3 Przykład

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
for key in list(Boys.keys()):
    if key in list(Dict.keys()):
        print(True)
    else:       
        print(False)
  • dla pętli in code sprawdza każdy klucz w głównym słowniku pod kątem kluczy Boys
  • Jeśli istnieje w głównym słowniku, powinien wyświetlić wartość „prawda” lub „fałsz”.
  • Kiedy wykonasz kod, trzykrotnie wyświetli się „True”, ponieważ w naszym słowniku „Boys” mamy trzy elementy
  • Oznacza to, że słowo „Boys” istnieje w naszym głównym słowniku (Dict)

Sortowanie słownika

W słowniku możesz także sortować elementy. Przykładowo, jeśli chcemy wydrukować alfabetycznie nazwy elementów naszego słownika, musimy skorzystać z pętli for. Odpowiednio posortuje każdy element słownika.

Python 2 Przykład

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
Students = Dict.keys()
Students.sort()
for S in Students:
      print":".join((S,str(Dict[S])))

Python 3 Przykład

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
Students = list(Dict.keys())
Students.sort()
for S in Students:
      print(":".join((S,str(Dict[S]))))
  • Zadeklarowaliśmy zmienną studenci dla naszego słownika „Dict”.
  • Następnie używamy kodu Students.sort, który posortuje element w naszym słowniku
  • Aby jednak posortować każdy element w słowniku, uruchamiamy pętlę for, deklarując zmienną S
  • Teraz, gdy wykonamy kod, pętla for wywoła każdy element ze słownika i wydrukuje ciąg znaków oraz wartość w kolejności

Python Wbudowane funkcje słownika

Metoda słownikowa len().

Funkcja len() podaje liczbę par w słowniku.

Na przykład,

Python 2 Przykład

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "Length : %d" % len (Dict)

Python 3 Przykład

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("Length : %d" % len (Dict))

Kiedy wykonywana jest funkcja len (Dict), zwraca ona wynik „4”, ponieważ w naszym słowniku znajdują się cztery elementy

Typy zmiennych

Python nie wymaga jawnego deklarowania rezerwowej przestrzeni pamięci; dzieje się to automatycznie. Używane są wartości przypisane do znaku równości „=”. Kod określający typ zmiennej to „%type (Dict)”.

Python 2 Przykład

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "variable Type: %s" %type (Dict)

Python 3 Przykład

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("variable Type: %s" %type (Dict))
  • Aby poznać typ zmiennej, użyj kodu %type
  • Kiedy kod został wykonany, informuje, że typ zmiennej jest słownikiem

Python Wyświetl metodę cmp().

Metoda porównania cmp() jest używana w Python do porównywania wartości i kluczy dwóch słowników. Jeśli metoda zwraca 0, jeśli oba słowniki są równe, 1, jeśli dykt1 > dykt2 i -1, jeśli dykt1 < dykt2.

Python 2 Przykład

Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}	
print cmp(Girls, Boys)

Python 3 Przykład

cmp is not supported in Python 3
  • Mamy dwie nazwy słownikowe: „Boys” i „Girls”.
  • Cokolwiek zadeklarujesz jako pierwsze w kodzie „cmp(Girls, Boys)” będzie traktowane jako słownik 1. W naszym przypadku jako pierwsze zadeklarowaliśmy „Girls”, więc będzie ono traktowane jako słownik 1, a chłopcy jako słownik 2
  • Kiedy kod jest wykonywany, wypisuje -1, co oznacza, że ​​nasz słownik 1 jest mniejszy niż słownik 2.

Słownik Str(dykt)

Za pomocą metody Str() możesz przekształcić słownik w format ciągu znaków, który można wydrukować.

Python 2 Przykład

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "printable string:%s" % str (Dict)

Python 3 Przykład

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("printable string:%s" % str (Dict))
  • Użyj kodu % str (Dict)
  • Zwróci elementy słownika do formatu ciągu znaków, który można wydrukować

Oto lista wszystkich metod słownikowych

Metoda wykonania OPIS Składnia
Kopiuj () Skopiuj cały słownik do nowego słownika dykt.kopia()
aktualizacja() Zaktualizuj słownik, dodając nowy wpis lub parę klucz-wartość do istniejącego wpisu lub usuwając istniejący wpis. Aktualizacja dykt.([inne])
przedmiotów() Zwraca listę par krotek (klucze, wartość) w słowniku. słownik.items()
sortować() Możesz sortować elementy słownik.sort()
len () Podaje liczbę par w słowniku. len (dykt.)
cmp() Porównaj wartości i klucze dwóch słowników cmp(dykt1, dykt2)
Str() Utwórz słownik w formacie ciągu znaków, który można wydrukować Str(dykt)

Łączenie słowników

Tutaj zrozumiemy, jak połączyć dwa podane słowniki w jeden słownik.

Mam dwa słowniki, jak pokazano poniżej:

Słownik1: mój_dykt1

my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}

Słownik 2: my_dict2

my_dict2 = {"firstName" : "Nick", "lastName": "Price"}

Połączmy oba słowniki my_dict1 i my_dict2 i utwórzmy jeden słownik z namemy_dict.

Połącz dwa słowniki za pomocą metody update().

Metoda update() pomoże nam połączyć jeden słownik z drugim. W przykładzie zaktualizujemy my_dict1 za pomocą my_dict2. Po użyciu metody update() my_dict1 będzie mieć zawartość my_dict2, jak pokazano poniżej:

my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}

my_dict2 = {"firstName" : "Nick", "lastName": "Price"}

my_dict1.update(my_dict2)

print(my_dict1)

Wyjście:

{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}

Łączenie słowników metodą ** (From Python 3.5 i nowsze)

** nazywa się Kwargi Pythoni będzie działać z Python wersja 3.5+. Używając **, możemy połączyć dwa słowniki, co zwróci połączony słownik. Użycie ** przed zmienną spowoduje zastąpienie zmiennej całą jej zawartością.

Oto działający przykład użycia ** do połączenia dwóch katalogów.

my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}

my_dict2 = {"firstName" : "Nick", "lastName": "Price"}

my_dict =  {**my_dict1, **my_dict2} 

print(my_dict)

Wyjście:

{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}

Test członkostwa w słowniku

Możesz sprawdzić, czy klucz znajduje się w teraźniejszości w słowniku, czy nie. Ten test można wykonać tylko na kluczu słownika, a nie na wartości. Test członkostwa odbywa się za pomocą in słowo kluczowe. Kiedy sprawdzasz klucz w słowniku za pomocą in słowo kluczowe, wyrażenie zwraca wartość true, jeśli klucz jest obecny, i false, jeśli nie.

Oto przykład pokazujący test statku członkowskiego w słowniku.

my_dict = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}
print("email" in my_dict)
print("location" in my_dict)
print("test" in my_dict)

Wyjście:

True
True
False

Podsumowanie

  • Słowniki w języku programowania to rodzaj struktury danych używanej do przechowywania informacji połączonych w jakiś sposób.
  • Python Słownik jest zdefiniowany w dwóch elementach: Kluczach i Wartościach.
  • Słowniki nie przechowują informacji w określonej kolejności, więc możesz nie otrzymać informacji z powrotem w tej samej kolejności, w jakiej je wprowadziłeś.
  • Klucze będą pojedynczym elementem
  • Wartości mogą być listą, listą w liście, liczbami, itd.
  • Niedozwolony jest więcej niż jeden wpis na klucz (niedozwolone jest duplikowanie klucza)
  • Wartości w słowniku mogą być dowolnego typu, natomiast klucze muszą być niezmienne, np. liczby, krotki lub ciągi znaków.
  • W kluczach słownika rozróżniana jest wielkość liter. Ta sama nazwa klucza, ale z różnymi przypadkami, jest traktowana jak różne klucze Python słowniki.