logo

Iterera över en ordbok i Python

I den här artikeln kommer vi att täcka Hur man itererar genom en ordbok i Python. Dictionary i Python är en samling datavärden som används för att lagra datavärden som en karta, till skillnad från andra datatyper som bara innehåller ett enda värde som ett element, innehåller Dictionary nyckeln: värdepar i Pytonorm .

För att iterera genom värden i en ordbok kan du använda inbyggda metoder som values(), items() eller till och med direkt iterera över ordboken för att komma åt värden med nycklar.



Python ordböcker

Ordböcker i Python är mycket användbara datastrukturer. Ordböcker lagrar objekt i nyckel-värdepar.

Ordboksnycklar är hashbara, vilket betyder att deras värden inte förändras under en livstid. Det kan inte finnas dubbletter av nycklar i en ordbok.

För att komma åt värdet lagrat i en Python ordbok du måste använda nycklar.



Hur man itererar genom en ordbok i Python

Iteration genom en ordbok innebär att besöka varje nyckel-värdepar i ordning. Det innebär att man får tillgång till en Python-ordbok och att man går igenom varje nyckel-värde som finns i ordboken. Att iterera en ordbok är en mycket viktig uppgift om du vill använda en ordbok på rätt sätt.

Det finns flera sätt att iterera genom en ordbok, vi diskuterar några allmänt använda metoder för ordboksiteration i Python som är följande:

  • Iterera Python-ordboken med build.keys()
  • Iterera genom alla värden med .values()
  • Går igenom Python Dictionary med för loop
  • Iterera nyckel-värdepar med hjälp av items()
  • Åtkomstnyckel Använd map() och dict.get
  • Åtkomstnyckel i Python med hjälp av zip()
  • Åtkomstnyckel med Uppackning av Dict

Notera: I Python version 3.6 och tidigare var ordböcker oordnade. Men sedan Python version 3.7 och senare beställs ordböcker.



Itererande ordbok i Python med .values()-metoden

Att iterera genom alla värden i en ordbok i Python med hjälp av .values() , kan du använda en for-loop och få åtkomst till varje värde sekventiellt. Denna metod låter dig bearbeta eller visa varje enskilt värde i ordboken utan att uttryckligen referera till motsvarande nycklar.

Exempel: I det här exemplet använder vi metoden values() för att skriva ut alla värden som finns i ordboken.

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å åtkomst till ordboknycklar i Python med hjälp av build .keys()

I Python kan du komma åt nycklarna till en ordbok med den inbyggda ` .keys() ` metod. Den returnerar ett vyobjekt som visar en lista över alla nycklar i ordboken. Denna vy kan användas direkt eller konverteras till en lista för ytterligare manipulation.

Exempel : I det här exemplet hämtar koden nedan alla nycklar från `statesAndCapitals`-ordboken med `.keys()` och skriver ut det resulterande vyobjektet.

Python3




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

>

hur många uns är 10 milliliter
>

Produktion:

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

Går igenom Python Dictionary med för loop

För att komma åt nycklar i en ordbok utan att använda `keys()`-metoden kan du direkt iterera över ordboken med en för slinga , som `för nyckel i mitt_dikt:`. Denna loop itererar automatiskt över tangenterna, vilket gör att du kan komma åt varje tangent direkt utan att behöva ett explicit metodanrop.

Exempel: I det här exemplet itererar vi över ordböcker med 'för'-loopar för att iterera våra nycklar och skriva ut alla nycklar som finns i ordboken.

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>

Iterera genom en ordbok med metoden items().

Du kan använda metoden inbyggda items() för att komma åt både nycklar och objekt samtidigt. items()-metoden returnerar view-objektet som innehåller nyckel-värdeparet 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>

Itererande Python Dictionary Använder map() och dict.get

Metoden kommer åt nycklar i en ordbok med hjälp av `map()` och `dict.get() `. Den tillämpar funktionen `dict.get` på varje tangent och returnerar ett kartobjekt med motsvarande värden. Detta tillåter direkt iteration över ordboksnycklarna, vilket effektivt erhåller deras värden på ett kortfattat sätt.

Exempel: I det här exemplet använder koden nedan 'map()'-funktionen för att skapa en iterabel av värden som erhålls genom att använda 'get'-metoden på varje nyckel i 'statesAndCapitals'-ordboken. Den itererar sedan genom denna iterable med hjälp av en `för`-slinga och skriver ut varje tangent.

Python3




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

>

>

Utgång:

Gandhinagar Mumbai Jaipur Patna>

Iterera Python Dictionary med hjälp av zip()-funktionen

Använder sig av `zip()` i Python kan du komma åt nycklarna till en ordbok genom att iterera över en tupel av ordbokens nycklar och värden samtidigt. Denna metod skapar par av nycklar och värden, vilket möjliggör kortfattad iteration över båda elementen.

Exempel: I det här exemplet parar zip()-funktionen varje tillstånd med dess motsvarande kapital, och loopen itererar över dessa par för att skriva ut 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}'>)>

>

>

Utgång:

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

Ordbok iteration i Python genom att packa upp ordboken

För att komma åt nycklar med uppackning av en ordbok, kan du använda asterisk (*) operatorn för att packa upp nycklarna i en lista eller annan itererbar.

Exempel : I det här exemplet kommer du att se att vi använder * för att packa upp ordboken. *dict-metoden hjälper oss att packa upp alla nycklar i ordboken.

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>

Att iterera genom ordboken är en viktig uppgift om du vill komma åt nycklar och värden i ordboken. I den här handledningen har vi nämnt flera sätt att iterera genom alla objekt i en ordbok. Viktiga metoder som values(), items() och keys() nämns tillsammans med andra tekniker.