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

⚡ Inteligentne podsumowanie

Słownik w Python to nieuporządkowana kolekcja par klucz-wartość zapisana w nawiasach klamrowych. Poniższe przykłady obejmują tworzenie słowników, dostęp do elementów, ich aktualizację i usuwanie, metody wbudowane oraz właściwości kluczy słownika.

  • 🗂️. Definicja: Słownik przechowuje dane jako pary klucz-wartość w nawiasach klamrowych.
  • 🔑 Klawiatura: Klucze muszą być unikalne i niezmienne; wartości mogą się powtarzać.
  • aktualizacja: Dodawaj i zmieniaj elementy, przypisując wartość do klucza.
  • 🗑️ Kasować: Usuń elementy za pomocą polecenia del lub metody pop().
  • 🛠️. metody: Wbudowane metody, takie jak keys(), values() i items() ułatwiają pracę ze słownikami.
  • Szybkie wyszukiwanie: Słowniki umożliwiają szybki dostęp do wartości za pomocą klucza.

Słownik w Python

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

FAQ

Słownik przechowuje dane jako pary klucz-wartość, do których dostęp uzyskuje się za pomocą kluczy, natomiast lista przechowuje uporządkowane elementy, do których dostęp uzyskuje się za pomocą indeksu numerycznego. Używaj słowników do wyszukiwania z etykietami, a list do wyszukiwania z uporządkowanymi sekwencjami.

Nie. Klucze w słowniku muszą być unikatowe. Jeśli przypiszesz wartość do istniejącego klucza, nowa wartość zastępuje starą. Wartości mogą się jednak swobodnie powtarzać w różnych kluczach.

Ponieważ Python W wersji 3.7 słowniki zachowują kolejność dodawania, więc elementy są zwracane w kolejności dodawania. Wcześniejsze wersje tego nie gwarantowały, więc starszy kod nie powinien polegać na kolejności.

Użyj pętli for. Looping słownik bezpośrednio podaje swoje klucze; użyj .values(), aby odczytać wartości i .items(), aby rozpakować pary klucz-wartość, jak w: dla klucza, wartości w my_dict.items().

Kompresja słownikowa buduje słownik w jednym wierszu z obiektu iterowalnego, używając składni {klucz: wartość dla elementu w obiekcie iterowalnym}. Na przykład, {x: x*x dla x w zakresie(5)} buduje słownik kwadratów.

Słowniki przechowują ustawienia konfiguracji, hiperparametry, liczbę słów i mapę funkcjipings. Wiele bibliotek zwraca wyniki w postaci słowników, a JSON ładuje się do nich bezpośrednio, co czyni je centralnymi elementami organizacji oznaczonych danych w sztucznej inteligencji i uczeniu maszynowym.

Tak. Asystenci AI potrafią przekształcić wiersze CSV, JSON lub zwykły tekst w gotowy do użycia kod słownika i zasugerować sensowną strukturę kluczy. Pomagają również w przekształcaniu słowników i szybkim debugowaniu błędów kluczowych.

Tak. GitHub Copilot może generować literały słownikowe, wyrażenia złożone i wyszukiwania z komentarza lub nazwy funkcji, podczas gdy narzędzia agentowe refaktoryzują powtarzany kod do słowników. Zawsze sprawdzaj sugestie dotyczące poprawnych kluczy i przypadków skrajnych.

Podsumuj ten post następująco: