Pyton

Jak korzystać ze słownika słowników Pythona

Jak korzystać ze słownika słowników Pythona
W większości języków programowania tablica asocjacyjna służy do przechowywania danych przy użyciu par klucz-wartość. Słowniki są używane w Pythonie do wykonania tego samego zadania. Nawiasy klamrowe () służą do deklarowania dowolnej zmiennej słownikowej. Słownik zawiera unikalną wartość klucza jako indeks, a każdy klucz reprezentuje konkretną wartość. Trzecie nawiasy kwadratowe ([]) służą do odczytywania wartości określonego klucza.  Inny typ danych istnieje w Pythonie do przechowywania wielu danych, który nazywa się List. Lista działa jak tablica liczbowa, a jej indeks zaczyna się od 0 i zachowuje porządek. Ale kluczowe wartości słownika zawierają różne typy wartości, które nie muszą utrzymywać żadnej kolejności. Gdy jeden lub więcej słowników jest zadeklarowanych w innym słowniku, nazywa się to słownikiem zagnieżdżonym lub słownikami słownika. Sposób deklarowania zagnieżdżonych słowników i uzyskiwania z nich dostępu do nich opisano w tym artykule na różnych przykładach.

Przykład-1: zadeklaruj słownik zagnieżdżony

Zmienna słownika może przechowywać inny słownik w słowniku zagnieżdżonym. Poniższy przykład pokazuje, jak można zadeklarować zagnieżdżony słownik i uzyskać do niego dostęp za pomocą python. Tutaj 'kursy' to słownik zagnieżdżony, który zawiera inny słownik składający się z trzech elementów w każdym kluczu. Kolejny, dla pętla służy do odczytywania wartości każdego klucza zagnieżdżonego słownika.

# Utwórz zagnieżdżony słownik
Courses= 'bash': 'classes': 10, 'hours': 2, 'fee': 500,
'PHP': 'klasy': 30, 'godziny': 2, 'opłata': 1500,
'Angular': 'classes': 10, 'hours': 2, 'fee': 1000
 
# Wydrukuj klucze i wartości słownika
na kurs w kursach:
print('\nNazwa kursu:',kurs)
print('Wszystkich klas:',kursy[kurs]['klasy'])
print('Godziny:',kursy[kurs]['godziny'])
print('Opłata: $',kursy[kurs]['opłata'])

Wynik:

Uruchom skrypt. Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.

Przykład-2: Wstaw dane za pomocą określonego klucza w zagnieżdżonym słowniku

Można wstawić nowe dane lub zmodyfikować istniejące dane w słowniku, definiując określony klucz słownika. W tym przykładzie pokazano, w jaki sposób można wstawić nowe wartości w zagnieżdżonym słowniku za pomocą wartości klucza. Tutaj 'produkty jest zagnieżdżonym słownikiem trzech elementów, który zawiera inny słownik. Dla tego słownika zdefiniowano nowy klucz do wstawiania nowych elementów. Następnie trzy wartości są przypisywane za pomocą trzech kluczowych wartości i drukowane słownika za pomocą dla pętla.

# Utwórz zagnieżdżony słownik
produkty = 't121': 'nazwa': '42" telewizor Sony', 'marka': 'Sony', 'cena':600,
'c702': 'name': 'Camera 8989', 'brand': 'Cannon', 'price':400,
'm432': 'nazwa': 'Samsung Galaxy j10', 'marka': 'Samsung', 'cena':200
# Zdefiniuj klucz dla nowego wpisu w słowniku
produkty['m123'] =
# Dodaj wartości dla nowego wpisu
products['m123']['name'] = 'iPhone 10'
products['m123']['brand'] = 'Jabłko'
produkty['m123']['cena'] = 800
# Wydrukuj klucze i wartości słownika po wstawieniu
dla pro w produktach:
print('\nNazwa:',products[pro]['nazwa'])
print('Marka:',products[pro]['brand'])
print('Price:$',products[pro]['price'])

Wynik:

Uruchom skrypt. Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.

Przykład-3: Wstaw słownik do słownika zagnieżdżonego

Ten przykład pokazuje, jak nowy słownik można wstawić jako nowy element do słownika zagnieżdżonego. W tym miejscu nowy słownik jest przypisywany jako wartość w nowym kluczu dla „produkty'słownik.

# Utwórz zagnieżdżony słownik
produkty = 't121': 'nazwa': '42" telewizor Sony', 'marka': 'Sony', 'cena':600,
'c702': 'name': 'Camera 8989', 'brand': 'Cannon', 'price':400
# Dodaj nowy słownik
products['f326'] = 'name': 'Lodówka', 'marka': 'LG', 'cena': 700
# Wydrukuj klucze i wartości słownika po wstawieniu
dla pro w produktach:
print('Nazwa:',products[pro]['nazwa'],', '
'Marka:',products[pro]['brand'], ', '
'Cena:$',produkty[pro]['cena'])

Wynik:

Uruchom skrypt. Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.

Przykład-4: Usuń dane na podstawie klucza z zagnieżdżonego słownika

Ten przykład pokazuje, jak usunąć wartość zagnieżdżonego słownika na podstawie określonego klucza. Wartość 'Nazwa' klucz drugiego elementu 'produkty' słownik jest tutaj usunięty. Następnie wartości słownika są drukowane na podstawie kluczy.

# Utwórz zagnieżdżony słownik
produkty = 't121': 'nazwa': '42" telewizor Sony', 'marka': 'Sony', 'cena':600,
'c702': 'name': 'Camera 8989', 'brand': 'Cannon', 'price':400,
'a512': 'nazwa': 'AC', 'marka': 'Ogólne', 'cena':650
# Usuń dane z zagnieżdżonego słownika
del produkty['c702']['nazwa']
drukuj(produkty['t121'])
print(produkty['c702'])
print(produkty['a512'])

Wynik:

Uruchom skrypt. Następujące dane wyjściowe pojawią się po uruchomieniu skryptu. Brak wartości dla 'Nazwa' klucz jest wypisywany dla drugiego elementu.

Przykład-5: Usuń słownik z zagnieżdżonego słownika

Ten przykład pokazuje sposób usunięcia wpisu słownika wewnętrznego z zagnieżdżonego słownika w jednej instrukcji. W słowniku zagnieżdżonym każdy klucz zawiera inny słownik. Trzeci klucz słownika zagnieżdżonego jest używany w poleceniu „del” do usunięcia słownika wewnętrznego, który jest przypisany do tego klucza. Po usunięciu słownik zagnieżdżony jest drukowany za pomocą dla pętla.

# Utwórz zagnieżdżony słownik
produkty = 't121': 'nazwa': '42" telewizor Sony', 'marka': 'Sony', 'cena':600,
'c702': 'name': 'Camera 8989', 'brand': 'Cannon', 'price':400,
'a512': 'nazwa': 'AC', 'marka': 'Ogólne', 'cena':650
# Usuń słownik z zagnieżdżonego słownika
del produkty['a512']
# Wydrukuj klucze i wartości słownika po usunięciu
dla pro w produktach:
print('Nazwa:',products[pro]['nazwa'],', '
'Marka:',products[pro]['brand'], ', '
'Cena:$',produkty[pro]['cena'])

Wynik:

Uruchom skrypt. Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.

Przykład-6: Usuń ostatnio wstawione dane z zagnieżdżonego słownika

popitem() metoda służy do usuwania ostatniego wpisu słownika. Ostatni wpis słownika „produkty” jest usuwany w tym przykładzie za pomocą popitem().

# Utwórz zagnieżdżony słownik
produkty = 't121': 'nazwa': '42" telewizor Sony', 'marka': 'Sony', 'cena':600,
'c702': 'name': 'Camera 8989', 'brand': 'Cannon', 'price':400
# Usuń ostatni wpis w słowniku
produkty.popitem()
 
# Wydrukuj klucze i wartości słownika po usunięciu
dla pro w produktach:
print('Nazwa:',products[pro]['nazwa'],', '
'Marka:',products[pro]['brand'], ', '
'Cena:$',produkty[pro]['cena'])

Wynik:

Uruchom skrypt. Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.

Przykład 7: Uzyskaj dostęp do zagnieżdżonych słowników za pomocą metody get()

Wartości wszystkich zagnieżdżonych słowników są drukowane za pomocą pętli lub klawiszy w powyższych przykładach. otrzymać() metoda może być używana w Pythonie do odczytywania wartości dowolnego słownika. Jak można wydrukować wartości słownika zagnieżdżonego za pomocą otrzymać() metoda jest pokazana w tym przykładzie.

# Utwórz zagnieżdżony słownik
produkty = 't121': 'nazwa': '42" telewizor Sony', 'marka': 'Sony', 'cena':600,
'c702': 'name': 'Camera 8989', 'brand': 'Cannon', 'price':400
 
# Wydrukuj klucze i wartości słownika po usunięciu
dla pro w produktach:
print('Nazwa:',produkty[pro].pobierz('imię'))
print('Marka',produkty[pro].get('marka'))

Wynik:

Uruchom skrypt. Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.

Wniosek

Różne zastosowania słownika zagnieżdżonego są pokazane w tym artykule za pomocą prostych przykładów, aby pomóc użytkownikom Pythona w pracy ze słownikami zagnieżdżonymi.

Jak używać Xdotool do stymulacji kliknięć myszą i naciśnięć klawiszy w systemie Linux?
Xdotool to darmowe i otwarte narzędzie wiersza poleceń do symulacji kliknięć myszą i naciśnięć klawiszy. Ten artykuł zawiera krótki przewodnik dotyczą...
5 najlepszych ergonomicznych myszy komputerowych dla systemu Linux
Czy długotrwałe korzystanie z komputera powoduje ból nadgarstka lub palców?? Cierpisz na sztywne stawy i ciągle musisz uścisnąć dłonie? Czy czujesz pa...
Jak zmienić ustawienia myszy i touchpada za pomocą Xinput w systemie Linux?
Większość dystrybucji Linuksa jest domyślnie dostarczana z biblioteką „libinput” do obsługi zdarzeń wejściowych w systemie. Może przetwarzać zdarzenia...