Python-ordbøker er en flott måte å ha dataene dine i form av nøkkelverdipar, akkurat som JSON. Å bli en god programmerer krever imidlertid at du er god i optimaliseringen av koden din og dens fungerer. For å gjøre dette, er det første trinnet å bli klar over størrelsen på elementene du bruker og minnebruken/lagringen de bruker.
Dette innlegget vil fungere som din guide til å finne lengden på Python -ordbøker og vil inneholde følgende seksjoner:
Metode 1: Bruk Len () -metoden for å finne lengden på ordboken
Len () er en innebygd metode som brukes til å motvirke lengden på forskjellige elementer i Python. Når denne metoden brukes til å finne lengden på en Python-ordbok, fungerer den som en teller og returnerer det totale antallet nøkkelverdipar inne i den ordboken.
For å demonstrere bruken av Len () -metoden i tilfelle av Python -ordboken, ta følgende kode:
DictVar = "Navn": "John Doe", "Age": 20, "Social": "Linuxhint"
Print (Len (Dictvar)))
Når denne koden blir utført, vil den vise lengden på ordboken som:
Som du kan se, returnerer Len () -metoden antall nøkkelverdipar i ordboken, som er “3”.
Metode 2: Bruk Len () -metoden for å få lengden på en nestet ordbok
Hvis du prøver å bruke Len () -metoden på en nestet liste, vil du bare få antall ikke-nestede nøkkelverdipar. Ta for eksempel følgende kode:
DictVar = 'People':
'John': 'doe', 'johny': 'wick', 'rudy': 'smith',
'Mat':
'Fast': 'Burger', 'Fastfood': 'Ham', 'Steak': 'Medium'
Print (Len (Dictvar)))
Å kjøre denne koden vil skrive ut følgende resultat:
Dette svaret er verken riktig eller galt. Hvis du snakker om denne "dictvar", så har den to elementer. Imidlertid, hvis du skulle snakke om de nestede elementene, har det flere elementer enn 2. I slike tilfeller må du bruke Len () -metoden på hvert overordnede element og oppsummere resultatet:
DictVar = 'People':
'John': 'doe', 'johny': 'wick', 'rudy': 'smith',
'Mat':
'Fast': 'Burger', 'Fastfood': 'Ham', 'Steak': 'Medium'
Print (Len (DictVar ['People'])+Len (Dictvar ['Food'])))
Denne gangen, når dette programmet blir utført, vil det vise antall nestede nøkkelverdipar som:
Som du kan se, er antall nestede nøkkelverdipar 6.
Imidlertid, hvis du vil finne hele lengden på ordboken, som betyr lengden på overordnede ordboken og den nestede ordboken, bruker du bare len () på overordnede ordboken og legger den til:
DictVar = 'People':
'John': 'doe', 'johny': 'wick', 'rudy': 'smith',
'Mat':
'Fast': 'Burger', 'Fastfood': 'Ham', 'Steak': 'Medium'
Print (Len (DictVar)+Len (DictVar ['People'])+Len (Dictvar ['Food']))
Med dette vises utgangen som:
Denne utgangen betyr at det er totalt 8 nøkkelverdipar, nestet og ikke-nestet.
Metode 3: Bruk Isinstance () -metoden for å få hele lengden på nestet ordbok
For å finne ut hele lengden på en ordbok, kan du også bruke Isinstance () -metoden sammen med Len () -metoden. Isinstance () -metoden sjekker om verdien i det første argumentet eksisterer i underklassen.
For å demonstrere arbeidet med Isinstance () -metoden For å finne lengden på ordboken, ta følgende kode:
DictVar = 'People':
'John': 'doe', 'johny': 'wick', 'rudy': 'smith',
'Mat':
'Fast': 'Burger', 'Fastfood': 'Ham', 'Steak': 'Medium'
LengdeVar = Len (Dictvar)
for en i dictvar.verdier ():
Hvis IsInstance (a, dict):
lengdeVar += len (a)
trykk ("Diksjonens lengde er", lengdevar)
Når denne koden blir utført, vil den gi følgende utfall på terminalen:
Lengden på ordboken er “8”.
Metode 4: Bruk getSizeOf () -metode for å få minnet konsumert av DICT
Hvis du vil finne ut minnet som konsumeres av ordboken i byte, kan du bruke getSizeOf () -metoden. For å bruke denne metoden må du imidlertid importere “sys” -modulen.
For å demonstrere arbeidet med getSizeOf () -metoden, bruk følgende kodebit:
Importer Sys
DictVar = 'People':
'John': 'doe', 'johny': 'wick', 'rudy': 'smith',
'Mat':
'Fast': 'Burger', 'Fastfood': 'Ham', 'Steak': 'Medium'
Trykk (Sys.getSizeOf (dictvar)))
Dette vil skrive ut følgende utfall på terminalen:
I følge utgangen er minnet som konsumeres av ordboken "Dictvar" 184 byte.
Konklusjon
For å finne lengden på en ordbokvariabel i Python, kan brukeren benytte seg av Len () -metoden, som er en innebygd metode. Denne metoden kan også fungere for nestede ordbøker. Når det. For å få minneforbruket til ordboken kan brukeren bruke getSizeOf () -metoden fra “SYS” -pakken.