Ordböcker i Python

Ordböcker i Python

En Python-ordbok är en datastruktur som lagrar värdet i nyckel:värdepar.

Exempel:

Som du kan se i exemplet lagras data i nyckel:värdepar i ordböcker, vilket gör det lättare att hitta värden .

Produktion:

{1: 'Geeks', 2: 'For', 3: 'Geeks'} 

Python Dictionary Syntax

dict_var = {nyckel1: värde1, nyckel2: värde2, …..}

Vad är en ordbok i Python?

Ordböcker i Python är en datastruktur som används för att lagra värden i nyckel:värde-format. Detta gör att det skiljer sig från listor, tupler och arrayer eftersom varje nyckel i en ordbok har ett tillhörande värde.

Notera: Från och med Python version 3.7 är ordböcker beställda och kan inte innehålla dubbletter av nycklar.

Hur man skapar en ordbok

I Pytonorm , kan en ordbok skapas genom att placera en sekvens av element i curly {} hängslen, åtskilda av ett 'komma'.

Ordboken innehåller värdepar, ett är nyckeln och det andra motsvarande parelement är dess Nyckelvärde .

Värden i en ordbok kan vara av vilken datatyp som helst och kan dupliceras, medan nycklar inte kan upprepas och måste vara oföränderlig .

Notera - Ordboksnycklar är skiftlägeskänsliga, samma namn men olika nyckelfall kommer att behandlas distinkt.

Koden visar att man skapar ordböcker med olika typer av nycklar. Den första ordboken använder heltalsnycklar, och den andra ordboken använder en blandning av sträng- och heltalsnycklar med motsvarande värden. Detta visar Python-ordböckernas flexibilitet när det gäller att hantera olika datatyper som nycklar.

Produktion

Dictionary with the use of Integer Keys:  {1: 'Geeks', 2: 'For', 3: 'Geeks'} Dictionary with the use of Mixed Keys:  {'Name': 'Geeks', 1: [1, 2, 3, 4]} 

Ordboksexempel

En ordbok kan också skapas med den inbyggda funktionen dict(). En tom ordlista kan skapas genom att bara placera hängslen{}.

Olika sätt att skapa en Python-ordbok

Koden visar olika sätt att skapa ordböcker i Python. Den skapar först en tom ordbok och visar sedan hur man skapar ordböcker med hjälp av dikt() konstruktor med nyckel-värdepar specificerade inom hängslen och som en lista över tupler.

Produktion:

Empty Dictionary:  {} Dictionary with the use of dict():  {1: 'Geeks', 2: 'For', 3: 'Geeks'} Dictionary with each item as a pair:  {1: 'Geeks', 2: 'For'} 

Komplexiteter för att skapa en ordbok:

  • Tidskomplexitet: O(len(dict))
  • Utrymmes komplexitet: På)

Kapslade ordböcker

Exempel : Koden definierar en kapslad ordbok med namnet 'Dikt' med flera nivåer av nyckel-värdepar. Den innehåller en ordbok på toppnivå med tangenterna 1, 2 och 3. Värdet som är associerat med nyckel 3 är en annan ordbok med tangenterna 'A', 'B' och 'C.'. Detta visar hur Python-ordböcker kan kapslas för att skapas hierarkiska datastrukturer.

Produktion:

{1: 'Geeks', 2: 'For', 3: {'A': 'Welcome', 'B': 'To', 'C': 'Geeks'}} 

Mer om Python Nested Dictionary

Lägga till element i en ordbok

Tillägg av element kan göras på flera sätt. Ett värde åt gången kan läggas till i en ordbok genom att definiera värde tillsammans med nyckeln, t.ex. Dict[Key] = 'Värde'.

Uppdatering av ett befintligt värde i en ordbok kan göras genom att använda den inbyggda uppdatering() metod. Kapslade nyckelvärden kan också läggas till i en befintlig ordbok.

Notera- När du lägger till ett värde, om nyckel-värdet redan finns, uppdateras värdet annars läggs en ny nyckel med värdet till i ordboken.

Exempel: Lägg till objekt i en Python-ordbok med olika datatyper

Koden börjar med en tom ordlista och lägger sedan till nyckel-värdepar till den. Det visar att man lägger till element med olika datatyper, uppdaterar en nyckels värde och till och med kapslar ordböcker i huvudordboken. Koden visar hur man manipulerar ordböcker i Python.

Produktion:

Empty Dictionary:  {} Dictionary after adding 3 elements:  {0: 'Geeks', 2: 'For', 3: 1} Dictionary after adding 3 elements:  {0: 'Geeks', 2: 'For', 3: 1, 'Value_set': (2, 3, 4)} Updated key value:  {0: 'Geeks', 2: 'Welcome', 3: 1, 'Value_set': (2, 3, 4)} Adding a Nested Key:  {0: 'Geeks', 2: 'Welcome', 3: 1, 'Value_set': (2, 3, 4), 5:  {'Nested': {'1': 'Life', '2': 'Geeks'}}} 

Komplexiteter för att lägga till element i en ordbok:

  • Tidskomplexitet: O(1)/O(n)
  • Utrymmes komplexitet: O(1)

Få åtkomst till element i en ordbok

För att komma åt objekten i en ordbok hänvisar du till dess nyckelnamn. Nyckeln kan användas inom hakparenteser.

Få tillgång till ett värde i Python Dictionary

Koden visar hur man kommer åt element i en ordbok med hjälp av nycklar. Den kommer åt och skriver ut värdena som är associerade med nycklarna 'namn' och 1, vilket visar att nycklar kan vara av olika datatyper (sträng och heltal).

Produktion:

Accessing a element using key: For Accessing a element using key: Geeks 

Det finns också en metod som kallas skaffa sig() som också hjälper till att komma åt elementet från en ordbok. Denna metod accepterar nyckel som argument och returnerar värdet.

Komplexiteter för att komma åt element i en ordbok:

  • Tidskomplexitet: O(1)
  • Utrymmes komplexitet: O(1)

Exempel: Få tillgång till ett värde i Dictionary med get() i Python

Koden visar åtkomst till ett ordbokselement med hjälp av skaffa sig() metod. Den hämtar och skriver ut värdet som är associerat med nyckel 3 i ordboken 'Dikt' . Denna metod ger ett säkert sätt att komma åt ordboksvärden och undviker KeyError om nyckeln inte finns.

Produktion:

Accessing a element using get: Geeks 

Få åtkomst till ett element i en kapslad ordbok

För att komma åt värdet för valfri nyckel i den kapslade ordboken, använd syntax för indexering [].

Exempel : Koden fungerar med kapslade ordböcker. Den kommer först åt och skriver ut hela den kapslade ordboken som är associerad med nyckeln 'Dict1' . Sedan kommer den åt och skriver ut ett specifikt värde genom att navigera genom de kapslade ordlistorna. Slutligen hämtar och skriver den ut värdet som är associerat med nyckeln 'Namn' i den kapslade ordboken under 'Dict2' .

Produktion:

{1: 'Geeks'} Geeks For 

Ta bort element med hjälp av nyckelordet 'del'.

Objekten i ordboken kan raderas genom att använda nyckelordet del enligt nedan.

Exempel : Koden definierar en ordbok, skriver ut dess ursprungliga innehåll och använder sedan 'av' uttalande för att radera elementet som är associerat med nyckel 1. Efter raderingen skriver den ut den uppdaterade ordlistan, vilket visar att det angivna elementet har tagits bort.

Produktion

  Dictionary ={1: 'Geeks', 'name': 'For', 3: 'Geeks'} Data after deletion Dictionary={'name': 'For', 3: 'Geeks'} 

Ordboksmetoder

Här är en lista över inbyggda ordboksfunktioner med deras beskrivning. Du kan använda dessa funktioner för att använda en ordbok.

Metod Beskrivning
dict.clear() Ta bort alla element från ordboken
dict.copy() Returnerar en kopia av ordboken
dict.get(nyckel, standard = Ingen) Returnerar värdet för angiven nyckel
dict.items() Returnerar en lista som innehåller en tuppel för varje nyckelvärdespar
dict.keys() Returnerar en lista som innehåller ordbokens nycklar
dict.update(dict2) Uppdaterar ordboken med specificerade nyckel-värdepar
dict.values() Returnerar en lista över alla värden i ordboken
pop() Ta bort elementet med angiven nyckel
popItem() Tar bort det senast infogade nyckel-värdeparet
dict.setdefault(nyckel,default= Ingen) ställ in nyckeln till standardvärdet om nyckeln inte anges i ordboken
dict.has_key(nyckel) returnerar sant om ordboken innehåller den angivna nyckeln.

För detaljerade förklaringar: Python ordbok metoder

Flera ordboksoperationer i Python

Koden börjar med en ordbok 'dict1' och skapar en kopia 'dict2' . Den visar sedan flera ordboksoperationer: rensa 'dict1' , komma åt värden, hämta nyckel-värde-par och nycklar, ta bort specifika nyckel-värde-par, uppdatera ett värde och hämta värden. Dessa operationer visar hur man arbetar med ordböcker i Python.

Produktion:

{1: 'Python', 2: 'Java', 3: 'Ruby', 4: 'Scala'} {} Python dict_items([(1, 'Python'), (2, 'Java'), (3, 'Ruby'), (4, 'Scala')]) dict_keys([1, 2, 3, 4]) {1: 'Python', 2: 'Java', 3: 'Ruby'} {1: 'Python', 2: 'Java'} {1: 'Python', 2: 'Java', 3: 'Scala'} dict_values(['Python', 'Java', 'Scala']) 

Vi har täckt allt om ordböcker i Python, diskuterat dess definition och användningsområden och sett olika ordboksmetoder med exempel. Ordboken är en viktig datastruktur för att lagra data i Python. Det skiljer sig mycket från tupler och listor.

Läs mer Data struktur i Python

Läs också:

  • Hur man skapar en ordbok i Python
  • Skillnad mellan List och Dictionary i Python
  • Python | Sammanfoga två ordböcker