Słownik Python – czym jest i jak się go używa?
W tej lekcji dowiesz się czym są słowniki w Pythonie.
Co to jest słownik w Pythonie?
Słownik w Pythonie to nieuporządkowany i zmienny zbiór wartości danych, który przechowuje pary klucz-wartość. Każda para klucz-wartość w słowniku mapuje klucz na skojarzoną z nim wartość, dzięki czemu jest bardziej zoptymalizowany. Słownik w Pythonie jest deklarowany przez załączenie listy par klucz-wartość rozdzielonych przecinkami przy użyciu nawiasów klamrowych ({}). Słownik Pythona dzieli się na dwa elementy: klucze i wartości.
Klucze będą jednym elementem
Wartości mogą być listą lub listą w liście, liczbami itp.
Składnia słownika w Python:
Dict = { ' Tim': 18, xyz,.. }
Słownik znajduje się w nawiasach klamrowych, wewnątrz tych nawiasów klamrowych deklarowane są klucze i wartości. Każdy klucz jest oddzielony od jego wartości dwukropkiem (:), podczas gdy przecinki oddzielają każdy element.
Właściwości klawiszy słownika
Podczas korzystania z klawiszy słownika są dwa ważne punkty
Więcej niż jeden wpis na klucz jest niedozwolony (nie można zduplikować klucza)
Wartości w słowniku mogą być dowolnego typu, podczas gdy klucze muszą być niezmienne, takie jak liczby, krotki lub ciągi.
Klucze słownika rozróżniają wielkość liter — ta sama nazwa klucza, ale z różnymi wielkościami liter jest traktowana jako różne klucze w słownikach Pythona.
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print((Dict['Tiffany']))
- W kodzie mamy nazwę słownika „Dict”
- Zadeklarowaliśmy imię i wiek osoby w słowniku, gdzie imię to „Klucze”, a wiek to „wartość”
- Teraz uruchom kod
- Pobiera ze słownika wiek Tiffany.
Metody słownika Pythona
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 „Chłopcy” i „Dziewczyny”.
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)
Aktualizacja słownika
Słownik można również zaktualizować, dodając nowy wpis lub parę klucz-wartość do istniejącego wpisu lub usuwając istniejący wpis. W tym przykładzie dodamy inną nazwę, „Sarah” do naszego istniejącego słownika.
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Dict.update({"Sarah":9}) print(Dict)
Usuwanie kluczy ze słownika
Słownik Pythona daje Ci możliwość usunięcia dowolnego elementu z listy słowników. Załóżmy, że nie chcesz, aby imię Charlie znalazło się na liście, więc możesz usunąć kluczowy element za pomocą następującego kodu.
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} del Dict ['Charlie'] print(Dict)
Sprawdź, czy dany klucz już istnieje w słowniku
Dla danej listy możesz również sprawdzić, czy nasz słownik podrzędny istnieje w słowniku głównym, czy nie. Tutaj mamy dwa podsłowniki „Chłopcy” i „Dziewczyny”, teraz chcemy sprawdzić, czy nasz słownik Chłopcy istnieje w naszym głównym „Dict”, czy nie. W tym celu używamy metody pętli for z metodą else if.
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)
- Forloop w kodzie sprawdza każdy klawisz w głównym słowniku pod kątem kluczy Boys
- Jeśli istnieje w głównym słowniku, powinien wypisać prawdę, w przeciwnym razie powinien wypisać fałsz
- Kiedy wykonasz kod, wyświetli on trzy razy „Prawda”, ponieważ mamy trzy elementy w naszym słowniku „Chłopcy”
- Oznacza to, że „Chłopcy” istnieją w naszym głównym słowniku (Dict)
Sortowanie słownika
W słowniku możesz również sortować elementy. Na przykład, jeśli chcemy wydrukować nazwy elementów naszego słownika alfabetycznie, musimy użyć pętli for. Odpowiednio posortuje każdy element słownika.
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ą studentów dla naszego słownika „Dict”.
- Następnie używamy kodu Students.sort, który posortuje element wewnątrz naszego słownika
- Ale aby 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 wyświetli ciąg i wartość w kolejności
Wbudowane funkcje słownika Pythona
Funkcja len() podaje liczbę par w słowniku.
Dla przykładu:
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("Length : %d" % len (Dict))
Typy zmiennych
Python nie wymaga jawnego deklarowania rezerwowej przestrzeni pamięci; dzieje się to automatycznie. Używane są wartości przypisane do zmiennej „=” znak równości. Kod określający typ zmiennej to „%type (Dict)”.
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("variable Type: %s" %type (Dict))
- Użyj %type, aby poznać typ zmiennej
- Po wykonaniu kodu, konsola mówi nam że jest to typ słownikowy.
Słownik Str(dict)
Za pomocą metody Str() możesz przekształcić słownik w string.
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("printable string:%s" % str (Dict))
a
Metoda | Opis | Składnia |
---|---|---|
copy() | Skopiuj cały słownik do nowego słownika | dict.copy() |
update() | Zaktualizuj słownik, dodając nowy wpis lub parę klucz-wartość do istniejącego wpisu lub usuwając istniejący wpis. | Dict.update([other]) |
items() | Zwraca listę par krotek (Klucze, Wartość) w słowniku | dictionary.items() |
sort() | Możesz sortować elementy | |
len() | Podaje liczbę par w słowniku | len(dict) |
cmp() | Porównaj wartości i klucze dwóch słowników | cmp(dict1, dict2) |
Str() | Stwórz słownik w formacie tekstowym do wydrukowania | Str(dict) |
Scalanie słowników
Tutaj zrozumiesz, jak połączyć dwa podane słowniki w jeden słownik.
Mam dwa słowniki, jak pokazano poniżej:
my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}
oraz:
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
Połączmy oba te słowniki my_dict1 i my_dict2 i utwórzmy jeden słownik o nazwie my_dict.
Połącz dwa słowniki za pomocą metody update()
Metoda update() pomoże nam połączyć jeden słownik z drugim. W tym przykładzie zaktualizujemy my_dict1 o my_dict2. Po użyciu metody update() my_dict1 będzie zawierała zawartość my_dict2 jak pokazano poniżej:
my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Warszawa"} my_dict2 = {"firstName" : "Nick", "lastName": "Price"} my_dict1.update(my_dict2) print(my_dict1)
Wyjście:
{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Warszawa', 'firstName': 'Nick', 'lastName': 'Price'}
Test obecności w słowniku
Możesz sprawdzić, czy klucz jest obecny 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ą słowa kluczowego in. Po sprawdzeniu klucza w słowniku za pomocą słowa kluczowego in wyrażenie zwraca prawdę, jeśli klucz jest obecny, i fałsz, jeśli nie.
Oto przykład, który pokazuje test statku członkowskiego w słowniku.
my_dict = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Warszawa"} print("email" in my_dict) print("location" in my_dict) print("test" in my_dict)