Pyton

Jak scalić słowniki w Pythonie

Jak scalić słowniki w Pythonie
Słownikowy typ danych jest używany w Pythonie do przechowywania wielu wartości za pomocą kluczy with. Nowy słownik można utworzyć, łącząc dwa lub więcej słowników. Scalanie danych jest wymagane, gdy trzeba połączyć dane tego samego typu, które są przechowywane w wielu słownikach. Na przykład dane dotyczące działu pracowników dowolnej firmy są przechowywane w wielu słownikach. Aby wygenerować listę wszystkich pracowników firmy będziemy musieli połączyć dane z tych słowników. W Pythonie istnieje wiele sposobów łączenia słowników. W tym artykule pokazano, w jaki sposób można scalić słowniki, na różnych przykładach.

Przykład-1: Scal dwa proste słowniki

aktualizacja() metoda jest używana w Pythonie do łączenia jednego słownika z innym słownikiem. Poniższy przykład pokazuje użycie metody update(). Tutaj zadeklarowano dwa słowniki o nazwach stdDic1 i stdDic2. Wartości stdDic1 zostaną dodane na końcu stdDic2. Następnie pętla for służy do drukowania kluczy i wartości scalonego słownika.

# Zdefiniuj słownik listy uczniów1
stdDic1 = 'Jony Lever':'Angielski','Meena Ali':'CSE','John Micheal':'PRAWO'
# Zdefiniuj słownik listy uczniów2
stdDic2 = 'John Abraham':'CSE','Mily Hossain':'BBA','Ella Binte Nazir':'EEE'
# Połącz drugi słownik z pierwszym słownikiem
stdDic2.aktualizacja(stdDic1)
# Wydrukuj klucze i wartości połączonego słownika
dla val w stdDic2:
print('\nNazwa:',val)
print('Dział:',stdDic2[val])

Wynik:

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

Przykład 2: Scal prosty słownik i listę wielu słowników

Poniższy przykład pokazuje, jak można połączyć słownik z listą wielu słowników. Tutaj słownik o nazwie isbn zadeklarowano, że przechowuje numer ISBN księgi jako klucz, a typ księgi jako wartość. Lista słowników nazwanych książka zadeklarowano przechowywanie tytułu książki i nazwiska autora. Metoda zip() służy do łączenia słowników lub krotek, a metoda dict() służy do tworzenia słownika. Te metody są używane w tym skrypcie do tworzenia nowego słownika poprzez połączenie isbn i book. Następnie pętla for służy do uzyskiwania dostępu do wartości scalonego słownika.

# Zadeklaruj prosty słownik
isbn = '67533344':'PHP','997544333':'Java','456688644':'VB.netto'
# Zadeklaruj listę wielu słowników
book = ['title': 'Murach PHP i MySQL', 'autor': 'Joel Murach i Ray Harris',
'title': 'Java The Complete Reference', 'autor': 'Herbert Schildt',
'tytuł': 'Początek VB.NET”, „autor”: „Blair Richard, Matthew Reynolds i
Thearon Willis']
# Utwórz nowy słownik, łącząc jeden i wiele słowników
mrgDict = dict(zip(isbn, book))
# Wydrukuj klucze i wartości połączonego słownika
dla isbn w mrgDict:
print('\nISBN:',isbn)
print('Nazwa książki:',mrgDict[isbn]['tytuł'])
print('Nazwisko autora:',mrgDict[isbn]['autor'])

Wynik:

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

Przykład-3: Scal dwa słowniki za pomocą funkcji niestandardowej

Dwa słowniki można połączyć za pomocą Kopiuj() i aktualizacja() metody w pytonie. Tutaj oryginalne wartości słownika pozostaną niezmienione. scalDic() funkcja jest zdefiniowana do kopiowania wartości pierwszego słownika w zmiennej o nazwie połączone i dodaj wartości z drugiego słownika w połączone. Następnie wypisywane są wartości scalonego słownika.

# Zadeklaruj dwa słowniki
dict1 = "imię": "Abir", "wiek": 25, "płeć": "Mężczyzna"
dict2 = "zawód": "Programista", "email": "[email chroniony]"
"Zdefiniuj funkcję, aby utworzyć nowy słownik łączący oba klawisze
i wartości dict1 i dict2"
def mergeDict(d1, d2):
połączone = d1.Kopiuj()
połączone.aktualizacja(d2)
powrót scalony
# Wywołaj funkcję do scalenia
mrgDict = połączDict(Dykt1,Dykt2)
# Wydrukuj wartości scalonego słownika
dla idval w mrgDict:
print(idval,':',mrgDict[idval])

Wynik:

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

Przykład-4: Łączenie dwóch słowników za pomocą operatora (**)

Słowniki można łączyć bez użycia wbudowanej lub niestandardowej funkcji za pomocą pojedynczego wyrażenia. „**”operator jest używany w tym przykładzie do połączenia dwóch słowników. Tutaj dwie zmienne słownikowe nazwane dyktować1 i dykt2 są zadeklarowane, połączone za pomocą „**” operator ze zmiennymi słownikowymi i przechowuje wartości w zmiennej, mrgDict.

# Zadeklaruj dwa słowniki
dict1 = "Monitor": 500, "Mysz": 100, "Klawiatura": 250
dict2 = "HDD": 300, "Drukarka": 50, "Mysz":50
# Scal słowniki za pomocą operatora „**”
mrgDict = **dykt2, **dykt1
# Wydrukuj wartości scalonego słownika
dla val w mrgDict:
print(wartość;':',mrgDict[wartość])

Wynik:

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

Przykład-5: Łączenie dwóch słowników na podstawie wspólnych kluczy

Gdy dwa słowniki zawierająten sam klucz i jeśli wartość klucza jest liczbowa to może wymagać zsumowania wartości w momencie łączenia. Ten przykład pokazuje, jak można dodać wartości liczbowe tych samych kluczy podczas łączenia dwóch słowników. Tutaj zadeklarowane są dwa słowniki o nazwach sklep1 i sklep2. Klucze i wartości store1 są iterowane przez pętlę for i sprawdzają, które klucze store1 są równe kluczom store2. Jeśli jakikolwiek klucz istnieje, zostaną dodane wartości klucza.

# Zadeklaruj dwa słowniki
store1 = 'Pióro': 150, 'Ołówek': 250, 'Notatnik': 100
store2 = 'Gumka': 80, 'Pióro': 50, 'Sharpner': 30, 'Ołówek': 100
 
# Połącz wartości store2 z store1 za pomocą wspólnych kluczy
za klucz w sklepie1:
jeśli klucz w sklepie2:
sklep1[klucz] = sklep1[klucz] + sklep2[klucz]
jeszcze:
przechodzić
 
# Wydrukuj klucze i wartości połączonego słownika
dla val w sklepie1:
print(wartość,':',store1[wartość])

Wynik:

Uruchom skrypt.  Tutaj dwa klucze są wspólne w słownikach. Są to „Pióro” i „Ołówek”, a wartości tych kluczy są dodawane.

Przykład-6: Łączenie wszystkich wartości słowników poprzez liczenie wspólnych kluczy

W poprzednim przykładzie wspólne wartości dwóch słowników są dodawane na podstawie konkretnego słownika. Ten przykład pokazuje, jak połączyć wartości dwóch słowników i dodać wartości wspólnych kluczy w momencie łączenia. Licznik() metoda jest używana w skrypcie do dodawania wartości wspólnych kluczy.

# Importuj moduł licznika
z kolekcji import Licznik
# Zadeklaruj dwa słowniki
store1 = 'Pióro': 150, 'Ołówek': 250, 'Notatnik': 100
store2 = 'Gumka': 80, 'Pióro': 50, 'Sharpner': 30, 'Ołówek': 100
 
# Scal wartości słowników na podstawie wspólnych kluczy
mrgDic=Licznik(sklep1)+Licznik(sklep2)
 
# Wydrukuj klucze i wartości połączonego słownika
dla val w mrgDic:
print(wartość;':',mrgDic[wartość])

Wynik:

Uruchom skrypt. Tutaj jeden słownik zawiera trzy elementy, a drugi zawiera cztery elementy. Dwa klucze są wspólne w dwóch słownikach.

Wniosek:

Możesz połączyć dwa lub więcej słowników w zależności od wymagań programistycznych. Mam nadzieję, że łączenie słowników będzie łatwym zadaniem dla użytkowników Pythona po przećwiczeniu powyższych przykładów.

Gry Jak używać AutoKey do automatyzacji gier Linux
Jak używać AutoKey do automatyzacji gier Linux
AutoKey to narzędzie do automatyzacji pulpitu dla systemów Linux i X11, zaprogramowane w Python 3, GTK i Qt. Korzystając ze skryptów i funkcji MAKRO, ...
Gry How to Show FPS Counter in Linux Games
How to Show FPS Counter in Linux Games
Linux gaming got a major push when Valve announced Linux support for Steam client and their games in 2012. Since then, many AAA and indie games have m...
Gry How to download and Play Sid Meier's Civilization VI on Linux
How to download and Play Sid Meier's Civilization VI on Linux
Introduction to the game Civilization 6 is a modern take on the classic concept introduced in the series of the Age of Empires games. The idea was fai...