Python

Sådan flettes ordbøger i Python

Sådan flettes ordbøger i Python
Ordbogsdatatype bruges i python til at gemme flere værdier med nøgler. En ny ordbog kan oprettes ved at flette to eller flere ordbøger. Fletning af data er påkrævet, når du har brug for at kombinere samme type data, der er gemt i flere ordbøger. For eksempel er afdelingsklasse medarbejderdata fra enhver virksomhed gemt i mange ordbøger. For at generere en liste over alle ansatte i virksomheden bliver vi nødt til at flette dataene fra disse ordbøger. Der findes mange måder i Python til fletning af ordbøger. Hvordan du kan flette ordbøger vises i denne artikel ved hjælp af forskellige eksempler.

Eksempel 1: Flet to enkle ordbøger

opdater () metode bruges i python til at kombinere en ordbog med en anden ordbog. Følgende eksempel viser brugen af ​​opdateringsmetoden (). Her erklæres to ordbøger med navnet stdDic1 og stdDic2. Værdierne for stdDic1 tilføjes i slutningen af ​​stdDic2. Dernæst bruges for loop til at udskrive nøglerne og værdierne i den flettede ordbog.

# Definer en ordbogen for elevlisten1
stdDic1 = 'Jony Lever': 'Engelsk', 'Meena Ali': 'CSE', 'John Micheal': 'LOV'
# Definer en ordbog over studenterliste2
stdDic2 = 'John Abraham': 'CSE', 'Mily Hossain': 'BBA', 'Ella Binte Nazir': 'EEE'
# Flet den anden ordbog med den første ordbog
stdDic2.opdatering (stdDic1)
# Udskriv nøglerne og værdierne i den flettede ordbog
for val i stdDic2:
print ('\ nNavn:', val)
print ('Afdeling:', stdDic2 [val])

Produktion:

Kør scriptet. Følgende output vises efter kørsel af scriptet.

Eksempel 2: Flet en simpel ordbog og en liste med flere ordbøger

Følgende eksempel viser, hvordan du kan flette en ordbog med en liste over flere ordbøger. Her hedder en ordbog isbn erklæres at gemme bogens ISBN som en nøgle og bogtypen som værdi. En liste over ordbøger navngivet Bestil erklæres for at gemme bogtitel og forfatternavn. zip () -metoden bruges til at slutte sig til ordbøgerne eller tuplerne, og dict () -metoden bruges til at oprette en ordbog. Disse metoder bruges i dette script til at oprette en ny ordbog ved at slå isbn og book sammen. Dernæst bruges for loop til at få adgang til værdierne i den flettede ordbog.

# Erklær en simpel ordbog
isbn = '67533344': 'PHP', '997544333': 'Java', '456688644': 'VB.net'
# Erklær en liste over flere ordbøger
bog = ['title': 'Murach PHP og MySQL', 'author': 'Joel Murach and Ray Harris',
'title': 'Java The Complete Reference', 'author': 'Herbert Schildt',
'title': 'Begyndende VB.NET ',' author ':' Blair Richard, Matthew Reynolds og
Thearon Willis ']
# Opret en ny ordbog ved at flette en enkelt og flere ordbøger
mrgDict = dict (zip (isbn, bog))
# Udskriv nøglerne og værdierne i den flettede ordbog
for isbn i mrgDict:
print ('\ nISBN:', isbn)
print ('Book Name:', mrgDict [isbn] ['title'])
print ('Forfatternavn:', mrgDict [isbn] ['author'])

Produktion:

Kør scriptet. Følgende output vises efter kørsel af scriptet.

Eksempel 3: Flet to ordbøger ved hjælp af brugerdefineret funktion

To ordbøger kan flettes ved hjælp af kopi() og opdater () metoder i python. Her vil ordbogens oprindelige værdier være uændrede. mergeDic () funktion er defineret til at kopiere værdierne for den første ordbog i en navngivet variabel fusioneret og tilføj værdierne for den anden ordbog i fusioneret. Derefter udskrives værdierne i den flettede ordbog.

# Erklær to ordbøger
dict1 = "name": "Abir", "age": 25, "gender": "Male"
dict2 = "profession": "Programmer", "email": "[email protected]"
"Definer en funktion for at oprette en ny ordbog, der fletter begge nøgler
og værdier, af dict1 og dict2 "
def mergeDict (d1, d2):
flettet = d1.kopi()
fusioneret.opdatering (d2)
returneret flettet
# Ring til funktionen for at flette
mrgDict = mergeDict (dict1, dict2)
# Udskriv værdierne for den flettede ordbog
til idval i mrgDict:
print (idval, ':', mrgDict [idval])

Produktion:

Kør scriptet. Følgende output vises efter kørsel af scriptet.

Eksempel 4: Fletning af to ordbøger ved hjælp af (**) operator

Ordbøger kan flettes uden brug af en indbygget eller brugerdefineret funktion ved hjælp af et enkelt udtryk. '**'operatør bruges i dette eksempel til at flette to ordbøger. Her er to ordbogvariabler navngivet dict1 og dict2 erklæres, flettes ved hjælp af '**' operatør med ordbogsvariablerne og gemmer værdierne i variablen, mrgDict.

# Erklær to ordbøger
dict1 = "Moniter": 500, "Mus": 100, "Keyboard": 250
dict2 = "HDD": 300, "Printer": 50, "Mus": 50
# Flet ordbøger ved hjælp af '**' operator
mrgDict = ** dict2, ** dict1
# Udskriv værdierne for den flettede ordbog
til val i mrgDict:
print (val, ':', mrgDict [val])

Produktion:

Kør scriptet. Følgende output vises efter kørsel af scriptet.

Eksempel 5: Fletning af to ordbøger baseret på fælles nøgler

Når to ordbøger indeholder den samme nøgle, og hvis værdien på nøglen er numerisk, kan det være nødvendigt at summere værdierne på tidspunktet for fletningen. Dette eksempel viser, hvordan de numeriske værdier for de samme taster kan tilføjes, når to ordbøger flettes. Her erklæres to ordbøger med navnet store1 og store2. Tasterne og værdierne for butik1 gentages for loop og kontroller, hvilke nøgler til butik1 er lig med nøglerne til butik2. Hvis der findes en nøgle, tilføjes værdierne for nøglen.

# Erklær to ordbøger
store1 = 'Pen': 150, 'Blyant': 250, 'Notatbog': 100
store2 = 'Viskelæder': 80, 'Pen': 50, 'Sharpner': 30, 'Blyant': 100
 
# Flet værdierne for store2 med store1 med de fælles nøgler
til nøgle i butik1:
hvis nøgle i butik2:
store1 [key] = store1 [key] + store2 [key]
andet:
passere
 
# Udskriv nøglerne og værdierne i den flettede ordbog
til val i butik1:
print (val, ':', store1 [val])

Produktion:

Kør scriptet.  Her er to nøgler almindelige i ordbøgerne. Disse er 'Pen' og 'Blyant', og værdierne for disse nøgler tilføjes.

Eksempel 6: Fletning af alle ordbøgernes værdier ved at tælle almindelige taster

I det foregående eksempel tilføjes de fælles værdier for to ordbøger baseret på en bestemt ordbog. Dette eksempel viser, hvordan du fletter værdierne i to ordbøger og tilføjer værdierne for fælles nøgler på tidspunktet for fletning. Tæller () metode bruges i scriptet til at tilføje værdierne for fælles nøgler.

# Import tællermodul
fra samlinger import tæller
# Erklær to ordbøger
store1 = 'Pen': 150, 'Blyant': 250, 'Notatbog': 100
store2 = 'Viskelæder': 80, 'Pen': 50, 'Sharpner': 30, 'Blyant': 100
 
# Flet værdierne af ordbøger baseret på fælles nøgler
mrgDic = Counter (store1) + Counter (store2)
 
# Udskriv nøglerne og værdierne i den flettede ordbog
for val i mrgDic:
print (val, ':', mrgDic [val])

Produktion:

Kør scriptet. Her indeholder en ordbog tre elementer og en anden ordbog indeholder fire elementer. To nøgler er almindelige i to ordbøger.

Konklusion:

Du kan flette to eller flere ordbøger baseret på dine programmeringskrav. Jeg håber, at fletning af ordbøger vil være en nem opgave for pythonbrugere efter at have praktiseret ovenstående eksempler.

Sådan installeres og afspilles Doom på Linux
Introduktion til undergang Doom-serien opstod i 90'erne efter frigivelsen af ​​den originale Doom. Det var et øjeblikkeligt hit, og fra den tid af har...
Vulkan til Linux-brugere
Med hver nye generation af grafikkort ser vi spiludviklere skubbe grænserne for grafisk troskab og komme et skridt tættere på fotorealisme. Men på tro...
OpenTTD vs Simutrans
Oprettelse af din egen transportsimulering kan være sjovt, afslappende og ekstremt lokkende. Derfor skal du sørge for at prøve så mange spil som mulig...