logo

Gentag over en ordbog i Python

I denne artikel vil vi dække Sådan itereres gennem en ordbog i Python. Ordbog i Python er en samling af dataværdier, der bruges til at gemme dataværdier som et kort, i modsætning til andre datatyper, der kun indeholder en enkelt værdi som et element, har Ordbog nøglen: værdipar i Python .

For at iterere gennem værdier i en ordbog kan du bruge indbyggede metoder som values(), items() eller endda direkte iterere over ordbogen for at få adgang til værdier med nøgler.



Python ordbøger

Ordbøger i Python er meget nyttige datastrukturer. Ordbøger gemmer elementer i nøgleværdi-par.

Ordbogsnøgler er hashbare typer, hvilket betyder, at deres værdier ikke ændres i et helt liv. Der kan ikke være dublerede nøgler i en ordbog.

For at få adgang til værdien gemt i en Python ordbog du skal bruge nøgler.



Sådan itereres gennem en ordbog i Python

Gentagelse gennem en ordbog betyder, at besøge hvert nøgle-værdi-par i rækkefølge. Det betyder at få adgang til en Python-ordbog og krydse hver nøgleværdi, der findes i ordbogen. At gentage en ordbog er en meget vigtig opgave, hvis du vil bruge en ordbog korrekt.

Der er flere måder at iterere gennem en ordbog, vi diskuterer nogle almindeligt anvendte metoder til ordbogsiteration i Python, som er følgende:

  • Gentag Python-ordbogen ved hjælp af build.keys()
  • Gentag gennem alle værdier ved hjælp af .values()
  • Sløjfe gennem Python Dictionary ved hjælp af for loop
  • Gentag nøgleværdi-par ved hjælp af items()
  • Adgangsnøgle Brug map() og dict.get
  • Adgangsnøgle i Python ved hjælp af zip()
  • Adgangsnøgle ved hjælp af Udpakning af Dict

Bemærk: I Python version 3.6 og tidligere var ordbøger uordnet. Men siden Python version 3.7 og nyere er ordbøger bestilt.



Itererende ordbog i Python ved hjælp af .values()-metoden

At iterere gennem alle værdier i en ordbog i Python vha .values() , kan du bruge en for-løkke og få adgang til hver værdi sekventielt. Denne metode giver dig mulighed for at behandle eller vise hver enkelt værdi i ordbogen uden eksplicit at referere til de tilsvarende nøgler.

Eksempel: I dette eksempel bruger vi metoden values() til at udskrive alle de værdier, der findes i ordbogen.

Python3




# create a python dictionary> statesAndCapitals>=> {> >'Gujarat'>:>'Gandhinagar'>,> >'Maharashtra'>:>'Mumbai'>,> >'Rajasthan'>:>'Jaipur'>,> >'Bihar'>:>'Patna'> }> print>(>'List Of given capitals: '>)> for> capital>in> statesAndCapitals.values():> >print>(capital)>

>

>

Produktion:

List Of given capitals: Gandhinagar Mumbai Jaipur Patna>

Få adgang til ordbogsnøgler i Python ved hjælp af build .keys()

I Python kan du få adgang til nøglerne til en ordbog ved at bruge den indbyggede ` .keys() ` metode. Det returnerer et visningsobjekt, der viser en liste over alle nøglerne i ordbogen. Denne visning kan bruges direkte eller konverteres til en liste for yderligere manipulation.

Eksempel : I dette eksempel henter nedenstående kode alle nøgler fra `statesAndCapitals`-ordbogen ved hjælp af `.keys()` og udskriver det resulterende visningsobjekt.

Python3




statesAndCapitals>=> {> >'Gujarat'>:>'Gandhinagar'>,> >'Maharashtra'>:>'Mumbai'>,> >'Rajasthan'>:>'Jaipur'>,> >'Bihar'>:>'Patna'> }> keys>=> statesAndCapitals.keys()> print>(keys)>

>

java lokal datotid
>

Produktion:

dict_keys(['Gujarat', 'Maharashtra', 'Rajasthan', 'Bihar'])>

Sløjfe gennem Python Dictionary ved hjælp af for loop

For at få adgang til nøgler i en ordbog uden at bruge `keys()`-metoden, kan du gentage ordbogen direkte ved hjælp af en for sløjfe , ligesom `for taste in my_dict:`. Denne sløjfe gentager automatisk tasterne, så du kan få direkte adgang til hver tast uden behov for et eksplicit metodekald.

Eksempel: I dette eksempel gentager vi ordbøger ved at bruge 'for'-løkker til at iterere vores nøgler og udskrive alle nøglerne i ordbogen.

Python3




statesAndCapitals>=> {> >'Gujarat'>:>'Gandhinagar'>,> >'Maharashtra'>:>'Mumbai'>,> >'Rajasthan'>:>'Jaipur'>,> >'Bihar'>:>'Patna'> }> print>(>'List Of given states: '>)> # Iterating over keys> for> state>in> statesAndCapitals:> >print>(state)>

>

>

Produktion:

List Of given states: Gujarat Maharashtra Rajasthan Bihar>

Gentag gennem en ordbog ved hjælp af items()-metoden

Du kan bruge metoden indbygget items() til at få adgang til både nøgler og elementer på samme tid. items()-metoden returnerer visningsobjektet, der indeholder nøgleværdi-parret som tupler.

Python3




statesAndCapitals>=> {> >'Gujarat'>:>'Gandhinagar'>,> >'Maharashtra'>:>'Mumbai'>,> >'Rajasthan'>:>'Jaipur'>,> >'Bihar'>:>'Patna'> }> for> key, value>in> statesAndCapitals.items():> >print>(f>'{key}: {value}'>)>

>

>

Produktion:

Gujarat: Gandhinagar Maharashtra: Mumbai Rajasthan: Jaipur Bihar: Patna>

Iterating Python Dictionary Brug af map() og dict.get

Metoden får adgang til nøgler i en ordbog vha `map()` og `dict.get() `. Den anvender 'dict.get'-funktionen på hver tast og returnerer et kortobjekt med tilsvarende værdier. Dette tillader direkte iteration over ordbogsnøglerne og opnår effektivt deres værdier på en kortfattet måde.

Eksempel: I dette eksempel bruger nedenstående kode funktionen `map()` til at skabe en iterabel af værdier opnået ved at anvende `get`-metoden på hver nøgle i `statesAndCapitals`-ordbogen. Den itererer derefter gennem denne iterable ved hjælp af en 'for'-løkke og udskriver hver tast.

Python3




statesAndCapitals>=> {> >'Gujarat'>:>'Gandhinagar'>,> >'Maharashtra'>:>'Mumbai'>,> >'Rajasthan'>:>'Jaipur'>,> >'Bihar'>:>'Patna'> }> map_keys>=> map>(statesAndCapitals.get, statesAndCapitals)> for> key>in> map_keys:> >print>(key)>

>

10 af 1 mio
>

Output:

Gandhinagar Mumbai Jaipur Patna>

Iterér Python Dictionary ved hjælp af zip()-funktionen

Ved brug af `zip()` i Python kan du få adgang til nøglerne til en ordbog ved at iterere over en række af ordbogens nøgler og værdier samtidigt. Denne metode skaber par af nøgler og værdier, hvilket tillader kortfattet iteration over begge elementer.

Eksempel: I dette eksempel parrer zip()-funktionen hver tilstand med dens tilsvarende kapital, og løkken itererer over disse par for at udskrive informationen

Python3




statesAndCapitals>=> {> >'Gujarat'>:>'Gandhinagar'>,> >'Maharashtra'>:>'Mumbai'>,> >'Rajasthan'>:>'Jaipur'>,> >'Bihar'>:>'Patna'> }> for> state, capital>in> zip>(statesAndCapitals.keys(), statesAndCapitals.values()):> >print>(f>'The capital of {state} is {capital}'>)>

>

>

Output:

The capital of Gujarat is Gandhinagar The capital of Maharashtra is Mumbai The capital of Rajasthan is Jaipur The capital of Bihar is Patna>

Ordbogsiteration i Python ved at pakke ordbogen ud

For at få adgang til nøgler ved hjælp af udpakning af en ordbog, kan du bruge stjerne (*)-operatøren til at pakke nøglerne ud i en liste eller en anden iterabel.

Eksempel : I dette eksempel vil du se, at vi bruger * til at pakke ordbogen ud. *dict-metoden hjælper os med at pakke alle nøglerne i ordbogen ud.

Python3




statesAndCapitals>=> {> >'Gujarat'>:>'Gandhinagar'>,> >'Maharashtra'>:>'Mumbai'>,> >'Rajasthan'>:>'Jaipur'>,> >'Bihar'>:>'Patna'> }> keys>=> [>*>statesAndCapitals]> values>=> '{Gujarat}-{Maharashtra}-{Rajasthan}-{Bihar}'>.>format>(>*>statesAndCapitals,>*>*>statesAndCapitals)> print>(keys)> print>(values)>

>

>

Produktion:

['Gujarat', 'Maharashtra', 'Rajasthan', 'Bihar'] Gandhinagar-Mumbai-Jaipur-Patna>

At iterere gennem ordbogen er en vigtig opgave, hvis du vil have adgang til ordbogens nøgler og værdier. I denne øvelse har vi nævnt flere måder at iterere gennem alle elementer i en ordbog. Vigtige metoder som værdier(), items() og nøgler() er nævnt sammen med andre teknikker.