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.
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.