Python

Woordenboeken samenvoegen in Python

Woordenboeken samenvoegen in Python
Woordenboekgegevenstype wordt in Python gebruikt om meerdere waarden met sleutels op te slaan. Een nieuw woordenboek kan worden gemaakt door twee of meer woordenboeken samen te voegen. Het samenvoegen van gegevens is vereist wanneer u hetzelfde type gegevens moet combineren dat in meerdere woordenboeken is opgeslagen. Afdelingsgewijze werknemersgegevens van elk bedrijf worden bijvoorbeeld opgeslagen in veel woordenboeken. Om een ​​lijst van alle werknemers van het bedrijf te genereren, moeten we de gegevens uit deze woordenboeken samenvoegen. Er zijn veel manieren in Python om woordenboeken samen te voegen. Hoe u woordenboeken kunt samenvoegen, wordt in dit artikel getoond aan de hand van verschillende voorbeelden.

Voorbeeld-1: Twee eenvoudige woordenboeken samenvoegen

bijwerken() methode wordt in python gebruikt om een ​​woordenboek te combineren met een ander woordenboek. Het volgende voorbeeld toont het gebruik van de update()-methode. Hier worden twee woordenboeken gedeclareerd genaamd stdDic1 en stdDic2ic. De waarden van stdDic1 worden toegevoegd aan het einde van stdDic2. Vervolgens wordt for loop gebruikt om de sleutels en waarden van het samengevoegde woordenboek af te drukken.

# Definieer een woordenboek van studentenlijst1
stdDic1 = 'Jony Lever':'English','Meena Ali':'CSE','John Micheal':'LAW'
# Definieer een woordenboek van studentenlijst2
stdDic2 = 'John Abraham':'CSE','Mily Hossain':'BBA','Ella Binte Nazir':'EEE'
# Voeg het tweede woordenboek samen met het eerste woordenboek
stdDic2.update(stdDic1)
# Druk de sleutels en waarden van het samengevoegde woordenboek af
voor val in stdDic2:
print('\nNaam:',val)
print('Afdeling:',stdDic2[val])

Uitgang:

Voer het script uit. De volgende uitvoer zal verschijnen na het uitvoeren van het script:.

Voorbeeld-2: Voeg een eenvoudig woordenboek en een lijst met meerdere woordenboeken samen

Het volgende voorbeeld laat zien hoe u een woordenboek kunt samenvoegen met een lijst met meerdere woordenboeken. Hier, een woordenboek genaamd isbn is gedeclareerd om het ISBN van het boek op te slaan als een sleutel en het boektype als waarde. Een lijst met woordenboeken met de naam boek wordt verklaard om boektitel en auteursnaam op te slaan. zip() methode wordt gebruikt om de woordenboeken of tupels samen te voegen en dict() methode wordt gebruikt om een ​​woordenboek te maken. Deze methoden worden in dit script gebruikt om een ​​nieuw woordenboek te maken door isbn en book samen te voegen. Vervolgens wordt for loop gebruikt om toegang te krijgen tot de waarden van het samengevoegde woordenboek.

# Verklaar een eenvoudig woordenboek
isbn = '67533344':'PHP','997544333':'Java','456688644':'VB.netto'
# Verklaar een lijst met meerdere woordenboeken
book = ['title': 'Murach PHP en MySQL', 'author': 'Joel Murach en Ray Harris',
'title': 'Java The Complete Reference', 'author': 'Herbert Schildt',
'title': 'Begin VB.NET', 'auteur': 'Blair Richard, Matthew Reynolds en
Thearon Willis']
# Maak een nieuw woordenboek door een enkel en meervoudig woordenboek samen te voegen
mrgDict = dict(zip(isbn, boek))
# Druk de sleutels en waarden van het samengevoegde woordenboek af
voor isbn in mrgDict:
print('\nISBN:',isbn)
print('Boeknaam:',mrgDict[isbn]['titel'])
print('Naam auteur:',mrgDict[isbn]['auteur'])

Uitgang:

Voer het script uit. De volgende uitvoer zal verschijnen na het uitvoeren van het script:.

Voorbeeld-3: Twee woordenboeken samenvoegen met de aangepaste functie

Twee woordenboeken kunnen worden samengevoegd door gebruik te maken van kopiëren() en bijwerken() methoden in python. Hier blijven de oorspronkelijke waarden van het woordenboek ongewijzigd. mergeDic() functie is gedefinieerd om de waarden van het eerste woordenboek te kopiëren in een variabele met de naam samengevoegd en voeg de waarden van het tweede woordenboek toe in samengevoegd. Vervolgens worden de waarden van het samengevoegde woordenboek afgedrukt.

# Verklaar twee woordenboeken
dict1 = "naam": "Abir", "leeftijd": 25, "geslacht": "Man"
dict2 = "profession": "Programmeur", "email": "[email protected]"
"Definieer een functie om een ​​nieuw woordenboek te maken door beide sleutels samen te voegen
en waarden, van dict1 en dict2"
def mergeDict(d1, d2):
samengevoegd = d1.kopiëren()
samengevoegd.bijwerken(d2)
terugkeer samengevoegd
# Roep de functie aan om samen te voegen
mrgDict = mergeDict(dict1,dict2)
# Druk de waarden van het samengevoegde woordenboek af
voor idval in mrgDict:
print(idval,':',mrgDict[idval])

Uitgang:

Voer het script uit. De volgende uitvoer zal verschijnen na het uitvoeren van het script:.

Voorbeeld-4: Twee woordenboeken samenvoegen met de operator (**)

Woordenboeken kunnen worden samengevoegd zonder een ingebouwde of aangepaste functie te gebruiken door een enkele uitdrukking te gebruiken. '**'operator wordt in dit voorbeeld gebruikt om twee woordenboeken samen te voegen. Hier, twee woordenboekvariabelen genaamd dict1 en dict2 zijn gedeclareerd, samengevoegd met behulp van '**' operator met de woordenboekvariabelen en slaat de waarden op in de variabele, mrgDict.

# Verklaar twee woordenboeken
dict1 = "Moniter": 500, "Muis": 100, "Toetsenbord": 250
dict2 = "HDD": 300, "Printer": 50, "Muis":50
# Woordenboeken samenvoegen met de operator '**'
mrgDict = **dict2, **dict1
# Druk de waarden van het samengevoegde woordenboek af
voor val in mrgDict:
print(val,':',mrgDict[val])

Uitgang:

Voer het script uit. De volgende uitvoer zal verschijnen na het uitvoeren van het script:.

Voorbeeld-5: Twee woordenboeken samenvoegen op basis van gemeenschappelijke sleutels

Als twee woordenboeken dezelfde sleutel bevatten en als de waarde van de sleutel numeriek is, kan het nodig zijn om de waarden op het moment van samenvoegen op te tellen. Dit voorbeeld laat zien hoe de numerieke waarden van dezelfde toetsen kunnen worden toegevoegd bij het samenvoegen van twee woordenboeken. Hier worden twee woordenboeken met de namen store1 en store2 gedeclareerd. De sleutels en waarden van store1 worden herhaald for loop en controleren welke sleutels van store1 gelijk zijn aan de sleutels van store2. Als er een sleutel bestaat, worden de waarden van de sleutel toegevoegd.

# Verklaar twee woordenboeken
store1 = 'Pen': 150, 'Potlood': 250, 'Notitieboek': 100
store2 = 'Gum': 80, 'Pen': 50, 'Sharpner': 30, 'Potlood': 100
 
# Voeg de waarden van store2 samen met store1 met de gemeenschappelijke sleutels
voor sleutel in winkel1:
indien sleutel in winkel2:
winkel1[sleutel] = winkel1[sleutel] + winkel2[sleutel]
anders:
voorbij lopen
 
# Druk de sleutels en waarden van het samengevoegde woordenboek af
voor val in winkel1:
print(val,':',store1[val])

Uitgang:

Voer het script uit.  Hier zijn twee sleutels gebruikelijk in de woordenboeken. Dit zijn 'Pen' en 'Potlood' en de waarden van deze sleutels zijn toegevoegd.

Voorbeeld-6: Alle waarden van de woordenboeken samenvoegen door gemeenschappelijke sleutels te tellen

In het vorige voorbeeld zijn de gemeenschappelijke waarden van twee woordenboeken toegevoegd op basis van een bepaald woordenboek. Dit voorbeeld laat zien hoe u de waarden van twee woordenboeken samenvoegt en de waarden van gemeenschappelijke sleutels toevoegt op het moment van samenvoegen. Teller() methode wordt in het script gebruikt om de waarden van gemeenschappelijke sleutels toe te voegen.

# Tellermodule importeren
uit collecties import Teller
# Verklaar twee woordenboeken
store1 = 'Pen': 150, 'Potlood': 250, 'Notitieboek': 100
store2 = 'Gum': 80, 'Pen': 50, 'Sharpner': 30, 'Potlood': 100
 
# Voeg de waarden van woordenboeken samen op basis van gemeenschappelijke sleutels
mrgDic=Teller(winkel1)+Teller(winkel2)
 
# Druk de sleutels en waarden van het samengevoegde woordenboek af
voor val in mrgDic:
print(val,':',mrgDic[val])

Uitgang:

Voer het script uit. Hier bevat het ene woordenboek drie elementen en het andere woordenboek vier elementen. Twee sleutels komen vaak voor in twee woordenboeken.

Conclusie:

U kunt twee of meer woordenboeken samenvoegen op basis van uw programmeervereisten. Ik hoop dat het samenvoegen van woordenboeken een gemakkelijke taak zal zijn voor python-gebruikers na het oefenen van de bovenstaande voorbeelden.

HD Remastered Games voor Linux die nog nooit eerder een Linux-release hebben gehad
Veel game-ontwikkelaars en uitgevers komen met HD-remaster van oude games om de levensduur van franchise te verlengen, fans die compatibiliteit met mo...
Hoe AutoKey te gebruiken om Linux-spellen te automatiseren
AutoKey is een hulpprogramma voor desktopautomatisering voor Linux en X11, geprogrammeerd in Python 3, GTK en Qt. Met behulp van de scripting- en MACR...
Hoe FPS-teller in Linux-games te tonen
Linux-gaming kreeg een grote duw toen Valve in 2012 Linux-ondersteuning voor Steam-client en hun games aankondigde. Sindsdien hebben veel AAA- en indi...