Słownik Pythona: wszystko, co musisz wiedzieć [z przykładami]
Opublikowany: 2020-04-14Jeśli pracujesz z Pythonem, na pewno słyszałeś o listach, ciągach znaków i krotkach. Dzisiaj porozmawiamy o kolejnym ważnym elemencie Pythona – słowniku. Po przeczytaniu tego posta powinieneś stosunkowo dobrze rozumieć słowniki Pythona, jak je tworzyć i jak z nich korzystać.
Spis treści
Co to jest słownik Pythona?
W Pythonie słownik to implementacja struktury danych, która zwykle nazywana jest tablicą asocjacyjną. Zawiera niezorganizowany zbiór wartości danych (na przykład mapę). Jednak w przeciwieństwie do innych typów danych, które zawierają tylko jedną wartość jako element, wartości danych przechowywane w słowniku zawierają parę klucz:wartość. Pomaga to zoptymalizować słownik. Każda para klucz: wartość mapuje unikalny klucz skojarzony z jej wartością.
W słowniku Pythona klucze są unikalne, ale wartości mogą być lub nie – podczas gdy klucze muszą mieć niezmienny typ danych (łańcuchy, liczby i krotki), wartości mogą być dowolnego typu. Ponadto w słowniku Pythona w kluczach rozróżniana jest wielkość liter. Tak więc klucze o tej samej nazwie, ale w różnych przypadkach są traktowane inaczej.
Dowiedz się więcej o: Typy danych Pythona
Słownik a listy
W Pythonie słowniki i listy mają zarówno podobieństwa, jak i różnice. Wspólne cechy wspólne dla słowników i list obejmują:
- Są zmienne.
- Są dynamiczne.
- Mogą zagnieżdżać – lista może zawierać inną listę, a słownik może zawierać inny słownik. Ponadto lista może zawierać słownik i na odwrót.
Główna różnica między słownikami a listami polega na tym, że podczas gdy do elementów listy można uzyskać dostęp (na podstawie ich pozycji na liście) za pomocą indeksowania, do elementów słownika można uzyskać dostęp za pomocą klawiszy.
Słownik Pythona – metody
Teraz omówimy niektóre z najczęściej używanych metod w słownikach Pythona.
- copy() – Zwraca płytką kopię słownika.
- clear() – usuwa wszystkie pozycje ze słownika.
- type() – Zwraca typ przekazanej zmiennej.
- pop() – usuwa i zwraca element ze słownika po dostarczeniu klucza.
- popitem() – Usuwa i zwraca dowolny element (klucz, wartość). Ponadto zgłasza KeyError, jeśli słownik jest pusty.
- get() – służy do uzyskania dostępu do wartości klucza.
- items() – Zwraca nowy widok elementów słownika (klucz, wartość).
- str() – generuje drukowalną reprezentację słownika.
- pop(key[,d]) – Usuwa element z kluczem i zwraca jego wartość, a jeśli klucz nie zostanie znaleziony, zwraca d . Jeśli jednak nie podano d , a klucz nie zostanie znaleziony, zwraca KeyError .
- get(key[,d]) – Zwraca wartość klucza. Jeśli klucz nie istnieje, zwraca d (domyślnie None ).
- fromkeys(seq[, v]) – Zwraca nowy słownik z kluczami z seq i wartością v (domyślnie None ).
- update([other]) – aktualizuje słownik za pomocą par klucz/wartość z innych , nadpisując istniejące klucze.
Jak stworzyć słownik?
Możesz utworzyć słownik Pythona, umieszczając listę par klucz-wartość rozdzielonych przecinkami w nawiasach klamrowych { }. Dwukropek „:” oddziela każdy klucz od powiązanej z nim wartości:
d = {
<klucz>: <wartość>,
<klucz>: <wartość>,
.
.
.
<klucz>: <wartość>
}
Możesz także użyć wbudowanej funkcji dict() do stworzenia słownika, na przykład:
# pusty słownik
mój_dykt = {}
# słownik z kluczami całkowitymi
my_dict = {1: „jabłko”, 2: „piłka”}
# słownik z klawiszami mieszanymi
my_dict = {'imię': 'Jan', 1: [2, 4, 3]}
# używając dict()
my_dict = dict({1:'jabłko', 2:'piłka'})
# z sekwencji mającej każdy element jako parę
my_dict = dict([(1,'jabłko'), (2,'piłka')])
Jak uzyskać dostęp do elementów ze słownika?
Aby uzyskać dostęp do elementu ze słownika, musisz odwołać się do jego nazwy klucza. Możesz użyć metody get() , aby pobrać element, lub możesz podać nazwę klucza w nawiasie kwadratowym [ ]. Jeśli klucz nie zostanie znaleziony w słowniku, metoda get() zwraca None zamiast KeyError.
Oto przykład kodu używanego do uzyskiwania dostępu do elementów ze słownika:
#!/usr/bin/python
dict = {'Imię': 'Zara', 'Wiek': 7, 'Klasa': 'Pierwszy'}
print "dict['Imię']: ", dict['Nazwa']
print "dict['Wiek']: ", dict['Wiek']
Jak dodawać lub zmieniać elementy w słowniku?
Ponieważ słowniki Pythona są zmienne, możesz dodawać elementy, a nawet zmieniać wartości istniejących elementów zawartych w słowniku. Elementy można dodawać do słownika na wiele sposobów. Możesz jednak dodać do słownika jedną wartość za jednym razem, definiując ją wraz z jej kluczem.
Na przykład dict[klucz] = „wartość”. Aby zaktualizować istniejącą wartość w słowniku, musisz użyć wbudowanej metody update() . Należy pamiętać, że podczas dodawania wartości do słownika, jeśli wartość już istnieje, wartość zostanie zaktualizowana, w przeciwnym razie do słownika zostanie dodany nowy klucz z tą wartością.

my_dict = {'imię':'Jack', 'wiek': 26}
# zaktualizuj wartość
my_dict['wiek'] = 27
#Wyjście: {'wiek': 27, 'imię': 'Jack'}
drukuj(my_dict)
# Dodaj Przedmiot
my_dict['adres'] = 'Śródmieście'
# Dane wyjściowe: {'adres': 'Śródmieście', 'wiek': 27, 'imię': 'Jack'}
drukuj(my_dict)
Jak usunąć lub usunąć elementy ze słownika?
Aby usunąć lub usunąć pozycję ze słownika, możesz użyć metody pop ( ) . Usunie konkretną pozycję z dostarczonym ket i zwróci wartość. Możesz również użyć metody popitem() , aby usunąć i zwrócić dowolny element (klucz i wartość) ze słownika.
Jeśli chcesz usunąć wszystkie elementy na raz, możesz użyć metody clear() . Możesz również użyć słowa kluczowego del, aby usunąć poszczególne elementy, lub metody del dict ( ) , aby usunąć cały słownik.
Przykład z wykorzystaniem metody del dict ( ):
#!/usr/bin/python
dict = {'Imię': 'Zara', 'Wiek': 7, 'Klasa': 'Pierwszy'}
del dict['Nazwa']; # usuń wpis klawiszem „Nazwa”
dykt.wyczyść(); # usuń wszystkie wpisy w dict
del dykt ; # usuń cały słownik
print "dict['Wiek']: ", dict['Wiek']
print "dict['School']: ", dict['School']
Dowiedz się również: Wynagrodzenie programisty Pythona w Indiach
Jak przeglądać słownik?
W słowniku Pythona możesz przejść przez pętlę za pomocą pętli for . Kiedy przeglądasz słownik, klucze słownika są wartością zwracaną.
Przykładem przeglądania słownika jest:
dla x w tym dykcie:
drukuj(x)
Przeczytaj: Najważniejsze funkcje Pythona
Jak sprawdzić, czy klucz występuje w słowniku?
Możesz użyć słowa kluczowego „ in ”, aby sprawdzić, czy określony klucz jest obecny w słowniku, na przykład:
ten dykt = {
„marka”: „Ferrari”,
„model”: „Dzień”,
„rok”: „1968”
}
jeśli „model” w tym dyktaturze:
print("Tak, 'model' jest jednym z kluczy w słowniku thisdict")
Jak określić długość słownika?
Możesz ustawić długość słownika, czyli określić, ile elementów (par klucz:wartość) będzie miał, używając metody len() , w następujący sposób:
print(len(thisdict))
Jak skopiować słownik?
Słownik można skopiować za pomocą wbudowanej metody copy() . Nie możesz jednak skopiować słownika, wpisując dict2 = dict1 , ponieważ dict2 będzie tylko odwołaniem do dict1 .
Oto przykład z użyciem metody copy() :
ten dykt = {
„marka”: „Ford”,
„model”: „Mustang”,
„rok”: 1964
}
mydict = thisdict.copy()
drukuj(mydict)
Słownik Pythona: rozumienie
W Pythonie rozumienie słownika jest prostym i zgrabnym sposobem tworzenia nowego słownika z elementu iteracyjnego. Składa się z pary wyrażeń (klucz: wartość), po której następuje instrukcja for w nawiasach klamrowych { }. Rozumienie ze słownika może zawierać wiele zdań for lub if .
Oto przykład tworzenia słownika, w którym każdy element jest parą liczby i jej kwadratem:
kwadraty = {x: x*x dla x w zakresie(6)}
# Dane wyjściowe: {0: 0, 1:1, 2:4, 3:9, 4:16, 5:25}
nadruk (kwadraty)
Przeczytaj więcej: Biblioteki wizualizacji danych w Pythonie
Zawijanie
W zasadzie to wszystko – cała podstawowa wiedza, którą musisz wiedzieć o słowniku Pythona!
Jeśli chcesz dowiedzieć się czegoś o Pythonie, wszystkiego o Data science, sprawdź kursy certyfikacyjne Data Science UpGrad, które są stworzone dla pracujących profesjonalistów i oferują ponad 10 studiów przypadków i projektów, praktyczne warsztaty praktyczne, mentoring z ekspertami branżowymi, 1 -1 z mentorami branżowymi, ponad 400 godzin nauki i pomocy w pracy w najlepszych firmach.
Jakie są słowniki w Pythonie?
Nieuporządkowany zbiór wartości danych to słownik Pythona. Słowniki są wymagane w Pythonie do przechowywania wartości danych, podobnie jak mapa. We wszystkich innych typach danych mogą one przechowywać tylko jedną wartość jako element. Ale słownik może przechowywać parę klucz:wartość. Ta para sprawia, że działanie słownika jest nieco bardziej zoptymalizowane.
Aby utworzyć słownik w Pythonie, wystarczy umieścić elementy w nawiasach klamrowych, oddzielając je wszystkie przecinkiem. Wartości w słowniku można powtarzać i duplikować, ale nie można powtarzać kluczy w słowniku. W kluczach w słowniku rozróżniana jest wielkość liter, więc nawet dwa klucze o tej samej nazwie, ale z różnymi wielkościami liter, będą traktowane inaczej.
Co można przechowywać w słowniku Pythona?
Słowniki są używane w Pythonie do pobierania danych za pomocą dowolnego unikalnego klucza. Wszystko, co możesz przechowywać w zmiennej Pythona, może być przechowywane w słowniku Pythona. Możesz nawet zagnieździć jeden słownik w innym, tworząc listy. Natomiast klucze muszą być niezmienne.
Możesz łatwo pobrać przechowywaną wartość, wywołując klucz, który przechowuje konkretną wartość. Jeśli dokonasz jakichkolwiek zmian w zwróconej liście, będzie to miało również wpływ na słownik. Trzeba zrozumieć, że wartości przechowywane w słowniku i pobranej liście to tylko te same obiekty.
Czym różnią się Hashtable i Dictionary?
Hashtable to nieogólna kolekcja, a Dictionary to ogólna kolekcja wartości danych. Możesz przechowywać pary klucz-wartość tego samego, a także różnych typów danych, podczas gdy w słowniku możesz przechowywać tylko pary klucz-wartość tego samego typu danych.
Ponieważ w Hashtable występuje boxing i unboxing, proces pobierania danych jest wolniejszy w porównaniu do Dictionary. Nie ma kolejności utrzymywanej w Hashtable, ale zawsze zobaczysz utrzymywaną kolejność przechowywanych wartości w słowniku.