Ordbokforståelse Python

Ordbokforståelse Python
I Python er en ordbok en liste over elementer som bare kan hentes ved hjelp av en unik nøkkel i stedet for indeksering. I likhet med en liste i Python, kan gjenstandene lagres i ordbøker. Men i stedet for å bruke varens indeks for å hente den, gir vi varen i ordboken med en unik nøkkel og deretter bruke den til å gjøre det. En teknikk for å konvertere den ene ordboken til den andre kalles ”ordbokforståelse.”

Elementer fra den første ordboken kan eksplisitt legges til den nye gjennom denne konverteringen, og hvert element vil gjennomgå passende modifikasjoner. Programmet kan bli mer beskrivende og dermed enklere å forstå om det har ordbokforståelse. Å kunne skaffe en ordboks viktige elementer og verdien av disse elementene er nødvendig for ordbokforståelse. 'For' loop- og lambda -metodene vil bli erstattet med bruk av ordbokforståelse. I denne artikkelen vil vi snakke om ordbokforståelse i detalj.

Eksempel nr. 1:

I dette scenariet skal vi bruke en 'for' loop med ordbokforståelse.

num = rekkevidde (20)
new_dict =
for jeg i num:
Hvis jeg%2 == 0:
new_dict [i] = i ** 3
print (new_dict)

Først erklærer vi et variabelt 'num', og sammen med dette definerer vi rekkevidden til tallene. En annen variabel, 'new_dict' blir initialisert, og denne listen vil bli satt som en tom liste. Nå skal vi legge til forskjellige verdier til ordboken 'New_dict' ved bruk av 'for' -sløyfen. Vi initialiserer en løkkevariabel 'i'. Vi bruker tilstanden på loopvariabelen om at den definerte verdien vil bli fullstendig delt med 2. Og så bruker vi multiplikasjon på ordbokenes verdier. Verdiene vil bli multiplisert med 3. I det siste bruker vi print () -funksjonen for å vise elementene.

Eksempel nr. 2:

Den alternative metoden som brukes i stedet for 'for' løkker er distribusjonen av ordbokforståelse. For løkker er blitt brukt i dataprogrammer for kontinuerlig å kjøre en spesifikk funksjon eller en serie kommandoer for et definert par iterasjoner. Nested for løkker, der den ene for loop er til stede i den andre, blir komplisert og forvirrende. I disse situasjonene er ordbokforståelse å foretrekke siden det gjør programmet lettere å lese og forstå ordentlig.

num = rekkevidde (20)
new_dict =
new_dict = i: i ** 2 for i in num hvis i%2 == 0
print (new_dict)

Området for tallene er spesifisert samtidig med den første erklæringen om variabelen “Num.”Denne listen vil bli konfigurert som en tom liste som en annen variabel, 'New_dict', blir initialisert. Vi vil bruke for -loopen i variabelen “new_dict” fordi vi vil legge til forskjellige verdier til ordboken. Vi setter verdien av loopvariabelen “Jeg.”På ordbokens verdier brukes multiplikasjon. Tallene vil motta en 2x multiplikator. På loopvariabelen gir vi en betingelse om at den definerte verdien vil bli jevnt delt med 2. PRINT () -funksjonen påberopes endelig for å skrive ut verdiene til ordboken.

Eksempel nr. 3:

Lambda -metoden kan også tilnærmes ved hjelp av ordbokforståelse. Ordbokforståelsesteknikken er en alternativ teknikk for lambda -metoden. Noen uidentifiserte operasjoner kan opprettes ved å bruke lambda -metoder. Disse inkluderer navnløse prosedyrer. Dette er gjenbrukbare metoder som bare brukes i den sammenhengen de ble samlet. Noen funksjonaliteter er ofte kombinert med lambda -metoden.

Fahrenheit = 'T1':-40, 'T2':-50, 'T3':-60, 'T4': 10
Celsius = liste (kart (Lambda A: (Float (5)/9)*(A-32), Fahrenheit.verdier ()))
Celsius_dict = Dict (Zip (Fahrenheit.Keys (), Celsius))
Print (Celsius_DICT)

Vi vil initialisere Fahrenheit -ordboken og definere fire temperaturer. Denne ordboken er lagret i 'Fahrenheit'. Vi bruker Celsius -formelen for å konvertere Fahrenheit -temperaturen til en Celsius -temperatur. For dette formålet bruker vi lambda () -funksjonen. Ved å bruke dette kan vi få de aktuelle Celsius -verdiene. Vi erklærer en variabel 'Celsius_dict' for å lage Celsius -ordboken.

Her bruker vi også zip () -funksjonen. Den innebygde zip () -metoden i pyton itererer gjennom verdiene og akkumulerer dem. Fahrenheit.Keys () og Celsius er to parametere for zip () -metoden. Denne forekomsten bruker zip -metoden for å kombinere elementene i Fahrenheit.Keys () og Celsius Dictionary, og skaper den aktuelle nøkkelverdi-kombinasjonen, som vil bli kombinert med andre elementer i en ordbok ved bruk av DICT () -metoden. Til slutt vil vi vise Dictionary of Celsius ved å kalle Print () -funksjonen.

Ved å bruke ordbokforståelsen er utfallet klart og enkelt å forstå. Dermed vil ordbokforståelse være en nyttig erstatning for Lambda -metoder.

Eksempel nr. 4:

Nestet ordbokforståelse vil bli brukt i dette tilfellet. Informasjon som er samlet i nivåer og hvor varer som inneholder flere ting som er identiske med dem, kalles hekkende i utvikling. Vi ville ofte observert nestede "hvis" -uttalelser som er sammensatt av det ene hvis uttrykk i det andre. På samme måte kan forståelser og ordbøker også nestes.

nested_dict = 'tredje': 'x': 8, 'fjerde': 'z': 9
float_dict = outer_l: float (indre_b) for (indre_l, indre_b) i ytre_b.elementer () for (ytre_l, ytre_b) i nestet_dict.elementer ()
print (float_dict)

Vi lager en ordbok som inneholder to verdier. I neste trinn vil vi erklære en annen ordbok som har noen flytende punktverdier. Innenfor denne ordboken konfigurerer vi en nestet ordbok. Denne ordboken lagres i en variabel 'float_dict'. Deretter brukes utskrift () -funksjonen for å skrive ut den flytende ordboken.

I dette tilfellet ville variabelen “Nested_dict” være en ordbok som har verdiene tredje og fjerde lagring av ordbokselementer som data. Det interne ordbokinnholdet brukes av programmet, og når de er blitt omdannet til flytende punktverdier, blir de ytre verdiene og de første flytende punkttallene slått sammen for å lage en unik ordbok.

Konklusjon:

Denne guiden introduserer oss for ordbøker først, illustrerer deretter hvilken forståelse er og hvorfor det er viktig, så vel som visse situasjoner der det kan være nyttig, spesielt når du bruker ordbøker. Vi bruker også ordbokforståelse i en rekke programmer som vi kjører. En ordbokforståelse i Python -løkker gjennom verdiene i en ordbok, slik at brukere kan endre eller analysere hvert element for å utvikle en annen ordbok. I denne artikkelen diskuterte vi også hvordan vi kan bruke ordbokforståelse i stedet for 'for' Loop og Lambda Methods.