Python-ordbog – alt hvad du behøver at vide

Python-ordbøger er en utrolig nyttig datastruktur, som du ofte vil gribe efter i dine programmeringsbestræbelser. Deres unikke evne til at tilknytte nøgler til deres respektive værdier giver mulighed for hurtig, effektiv adgang og forenklet kode ved håndtering af komplekse datasæt.

Python-ordbøger er i det væsentlige en implementering af associative arrays. De giver en fleksibel og effektiv måde at lagre og manipulere data på i form af nøgleværdi-par.

De er meget alsidige og kan rumme udskiftelige og ordnede samlinger uden at tillade duplikerede nøgler.

Når vi dykker ned i ordbøger i denne artikel, vil du se, at de er effektive værktøjer til at organisere og få adgang til dine data.

Så sørg for at gøre dig bekendt med ordbøgernes ins og outs for at frigøre deres fulde potentiale i dine projekter!

Python-ordbog – alt hvad du behøver at vide

Indholdsfortegnelse

Forstå Python-ordbøger

En ordbog i er en kraftfuld og fleksibel datastruktur, der giver dig mulighed for at gemme en samling af nøgleværdi-par. Tænk på en ordbog som en måde at tilknytte nøgler til deres tilsvarende værdier, hvilket gør det nemt at hente information, der er relateret til en bestemt identifikator.

For at oprette en ordbog kan du bruge krøllede klammeparenteser ( { } ), der omslutter en kommasepareret liste over nøgleværdi-par. For eksempel:

your_dict = {"key1": "value1", "key2": "value2", "key3": "value3"}

Husk, at ordbøger i Python kan ændres, hvilket betyder, at du kan ændre deres indhold, efter at de er oprettet. For at tilføje eller opdatere et nøgle-værdi-par skal du blot bruge følgende syntaks:

your_dict["new_key"] = "new_value"

#You can also update an old key's value
your_dict["old_key"] = "new_value"

Når det kommer til at få adgang til værdier i en ordbog, behøver du kun nøglen:

value = your_dict["key1"]

Python-ordbog – alt hvad du behøver at vide

Hvis du prøver at få adgang til en nøgle, der ikke findes i ordbogen, vil du støde på en KeyError. For at undgå dette kan du bruge get() metoden:

value = your_dict.get("non_existent_key", "default_value")

En ting du skal huske er, at en Python-ordbog ikke kan indeholde duplikerede nøgler. Hver nøgle skal være unik og være af en uforanderlig datatype.

For eksempel kan du bruge en tupel, streng, heltal eller endda en boolesk til din nøgle. Du kan dog ikke bruge lister, ordbøger eller sæt.

Der er ingen sådanne begrænsninger for værdier. Du kan bruge både foranderlige og uforanderlige datatyper.

Fjernelse af et element fra en ordbog gøres ved at bruge nøgleordet del :

del your_dict["key1"]

De giver også flere metoder til at gentage deres indhold. For eksempel kan du sløjfe over ordbogsnøglerne, værdierne eller endda begge dele:

for key in your_dict.keys():
    print(key)

for value in your_dict.values():
    print(value)

for key, value in your_dict.items():
    print(key, value)

Du kan nu bruge disse ordbogsmetoder og -teknikker til effektivt at gemme, hente og manipulere data, mens du arbejder med .

Sådan opretter du en Python-ordbog

Der er to hovedmåder, du kan oprette Python-ordbøger på: ved hjælp af krøllede parenteser og dict()- konstruktøren.

Brug af krøllede beslag

En metode, du kan bruge til at oprette en ordbog, er ved at bruge krøllede parenteser( {} ). For at initialisere en tom ordbog kan du blot bruge empty_dict = {} .

For at oprette en ordbog med nøgle-værdi-par skal du adskille nøglerne og værdierne med koloner. Derefter skal du adskille hvert par med et komma:

python_dict = {
    'key1': 'value1',
    'key2': 'value2',
    'key3': 'value3'
}

Ved at bruge dette format har du oprettet en Python-ordbog med tre nøgleværdi-par. Husk, at nøglerne skal være unikke, mens ordbogsværdierne kan duplikeres.

Brug af Dict Constructor

En anden metode til at oprette en Python-ordbog er at bruge dict() -konstruktøren. For at oprette en tom ordbog skal du blot kalde denne funktion uden nogen argumenter: empty_dict = dict() .

For at oprette en ordbog ved hjælp af dict() -konstruktøren kan du bruge følgende syntaks:

python_dict = dict(
    key1='value1',
    key2='value2',
    key3='value3'
)

Denne metode skaber også en Python-ordbog med tre nøgleværdielementer. Bemærk, at i modsætning til metoden med krøllede parenteser, kræver dict()- konstruktøren ikke anførselstegn omkring tasterne.

Ordbogsværdierne kræver dog stadig citater omkring dem

Nu hvor du er bekendt med to måder at skabe Python-ordbøger på, kan du begynde at implementere dem i din kode og udnytte deres kraftfulde funktioner i dine applikationer.

Sådan får du adgang til ordbogselementer

I dette afsnit lærer du om forskellige måder at få adgang til elementer i en ordbog. Ordbøger gemmer data i nøgleværdi-par, og du kan få adgang til hver ordbogsværdi ved hjælp af deres respektive nøgler.

Vi vil dække to populære metoder: Brug af nøgler og get - metoden.

Brug af nøgler

En af de mest ligefremme måder at få adgang til ordbogselementer på er ved at bruge tasterne. For at få værdien af ​​en bestemt ordbogsnøgle skal du blot sætte nøglen inden for firkantede parenteser ved siden af ​​ordbogens navn:

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
name_value = my_dict['name']

phone_value = mydict['phone-number']

I dette eksempel ville navn_værdi gemme strengen 'John' . Bemærk, at hvis du forsøger at få adgang til en ikke-eksisterende nøgle, vil Python rejse en KeyError .

Python-ordbog – alt hvad du behøver at vide

Brug af Get-metoden

Et alternativ til at bruge nøgler direkte er get() metoden, som giver dig adgang til ordbogselementer uden risiko for at rejse en KeyError. I stedet returnerer get- metoden en standardværdi, hvis den angivne nøgle ikke findes:

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
name_value = my_dict.get('name', 'Key not found')
country_value = my_dict.get('country', 'Key not found')

I dette eksempel vil name_value gemme strengen ' John ' som før, da ' name '-tasten er til stede i ordbogen. Country_value vil dog gemme standardværdien ' Key not found ', da ' country '-nøglen ikke findes i ordbogen.

Python-ordbog – alt hvad du behøver at vide

Get ()- metoden giver en mere fleksibel måde at få adgang til ordbogselementer på, da den giver dig mulighed for at håndtere manglende nøgler elegant. Du kan vælge at bruge begge metoder afhængigt af dine krav og muligheden for at støde på ikke-eksisterende nøgler.

Sådan ændres ordbogselementer

I dette afsnit lærer du, hvordan du ændrer elementer i en Python-ordbog. Der er to primære operationer til at opnå dette: tilføjelse af nye elementer og opdatering af eksisterende.

Begge disse metoder vil hjælpe dig med at bevare nøjagtigheden og anvendeligheden af ​​din ordbog. Lad os se på dem:

  1. Tilføjelse af nye elementer

Det er nemt at tilføje et nyt element til en ordbog. For at gøre det skal du angive det nye nøgleværdi-par ved hjælp af en tildelingsoperator, sådan her:

your_dict = {"key1": "value1", "key2": "value2"}
your_dict["new_key"] = "new_value"

Efter at have udført ovenstående kodestykke, vil din ordbog nu inkludere det nye par:

{"key1": "value1", "key2": "value2", "new_key": "new_value"}

Du kan også tilføje flere nøgleværdi-par på én gang ved at bruge ordbogens update()- metode

new_elements = {"key3": "value3", "key4": "value4"}
your_dict.update(new_elements)

Nu vil din ordbog indeholde følgende poster:

{"key1": "value1", "key2": "value2", "key3": "value3", "key4": "value4"}
  1. Opdatering af eksisterende elementer

For at opdatere værdien af ​​et eksisterende element skal du blot referere til nøglen og tildele den en ny værdi:

your_dict["key1"] = "updated_value1"

Denne ændring vil resultere i følgende ordbog:

{"key1": "updated_value1", "key2": "value2", "key3": "value3", "key4": "value4"}

Hvis du har brug for at opdatere flere elementer på én gang, skal du bruge update()- metoden igen. For at bruge det, indsend en ny ordbog, der indeholder de ønskede ændringer.

Lad os for eksempel opdatere your_dict-ordbogen med værdierne fra opdateringsordbogen:

updates = {"key2": "updated_value2", "key4": "updated_value4"}
your_dict.update(updates)

Med disse opdateringer anvendt, vil your_dict-ordbogen se sådan ud:

{"key1": "updated_value1", "key2": "updated_value2", "key3": "value3", "key4": "updated_value4"}

Disse operationer er vigtige værktøjer, når du arbejder, da de giver dig mulighed for at holde dine datastrukturer opdaterede og nøjagtige.

Sletning af ordbogselementer

I dette afsnit vil vi udforske to almindelige måder at slette ordbogselementer i Python på: del nøgleordet og clear() metoden.

  1. Del søgeord

Nøgleordet del bruges til at fjerne et specifikt nøgle-værdi-par fra en ordbog. Den fungerer på stedet og giver en KeyError, hvis nøglen ikke findes i ordbogen. For at slette et element skal du blot bruge følgende syntaks:

del my_dict[key]

For eksempel, hvis du vil slette en nøgle kaldet " brand " fra en ordbog ved navn my_dict, vil du skrive:

del my_dict["brand"]

Husk, at det er en god praksis at sikre, at nøglen findes i ordbogen, før du bruger nøgleordet del. Du kan gøre dette ved at kontrollere, om nøglen er i ordbogen:

if "brand" in my_dict:
    del my_dict["brand"]
  1. Klar metode

Clear()-metoden er en anden måde at slette ordbogselementer på. Denne metode fjerner alle ordbogsnøgler og værdier i én operation, hvilket resulterer i en tom ordbog.

For at bruge clear()-metoden i din ordbog skal du blot kalde den. For eksempel, hvis du har en eksisterende ordbog ved navn my_dict, og du vil fjerne alt dens indhold, vil du skrive:

my_dict.clear()

Afslutningsvis har du lært to metoder til at slette elementer fra en Python-ordbog: del-nøgleordet til at fjerne individuelle nøgleværdi-par og clear()-metoden til at tømme en hel ordbog.

Hvad er nogle almindelige ordbogsmetoder?

I dette afsnit vil vi udforske nogle almindelige Python-ordbogsmetoder. Disse indbyggede metoder hjælper dig med at manipulere og ændre ordbøger, så de passer til dine behov.

Nøgler

For at hente alle nøglerne fra din ordbog kan du bruge metoden keys() . Dette vil returnere et visningsobjekt, der indeholder alle ordbogens nøgler.

For eksempel:

your_dict = {'a': 1, 'b': 2, 'c': 3}
key_view = your_dict.keys()
print(key_view)
# Output: dict_keys(['a', 'b', 'c'])

Værdier

Tilsvarende giver metoden values() dig mulighed for at få alle de værdier, der er gemt i ordbogen. Dette præsenteres også som et visningsobjekt.

For eksempel:

value_view = your_dict.values()
print(value_view)
# Output: dict_values([1, 2, 3])

genstande

Hvis du skal have adgang til både nøgler og værdier samtidigt, skal du bruge items()-metoden. Dette returnerer et visningsobjekt, der indeholder nøgle-værdi-par i form af tupler.

Lad os se på et eksempel:

item_view = your_dict.items()
print(item_view)
# Output: dict_items([('a', 1), ('b', 2), ('c', 3)])

Opdatering

Update()-metoden giver dig mulighed for at ændre din ordbog ved at tilføje eller opdatere nøgleværdielementer. For at bruge metoden skal du give en ordbog som argument.

Brug denne metode for at flette to ordbøger eller opdatere specifikke nøgler:

your_dict.update({'d': 4, 'e': 5})
print(your_dict)
# Output: {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

Pop

Ved at bruge pop()-metoden kan du fjerne et bestemt emne fra ordbogen. For at bruge det skal du angive nøglen, der skal fjernes, som et argument i metoden.

Metoden returnerer værdien forbundet med den angivne nøgle og fjerner den fra ordbogen:

removed_value = your_dict.pop('a')
print(removed_value)
# Output: 1
print(your_dict)
# Output: {'b': 2, 'c': 3, 'd': 4, 'e': 5}

Popitem

Popitem () -metoden fjerner det sidste nøgle-værdi-par i ordbogen. Det returnerer en tuple, der indeholder den fjernede nøgle og værdi. For eksempel:

removed_item = your_dict.popitem()
print(removed_item)
# Output: ('e', 5)
print(your_dict)
# Output: {'b': 2, 'c': 3, 'd': 4}

Ved at bruge disse metoder kan du effektivt administrere og manipulere dine ordbøger for at opnå en række opgaver.

Brug af Python-ordbøger

I dette afsnit vil du lære forskellige teknikker til at arbejde med ordbøger, såsom at gå over dem, bruge ordbogsforståelser og arbejde med indlejrede ordbøger.

Sløjfe over ordbøger

For at sløjfe over en ordbog kan du bruge den indbyggede metode items() til at iterere over nøgleværdi-par. Dette giver dig mulighed for at udføre operationer på både nøgler og værdier på en læsbar og effektiv måde.

Her er et eksempel:


my_dict = {"apple": 1, "banana": 2, "cherry": 3}

for key, value in my_dict.items():
    print(key, value)

Alternativt kan du bruge metoderne keys() og values() til at iterere over enten ordbogsnøglerne eller udelukkende værdier.

Hvad er ordbogsforståelser?

Ordbogsforståelser er en kortfattet måde at oprette ordbøger på ved hjælp af en enkelt kodelinje. De ligner listeforståelser, men arbejder i stedet med ordbøger.

Her er et eksempel på en ordbogsforståelse, der kvadrerer tallene fra 1 til 5:


squared_numbers = {num: num**2 for num in range(1, 6)}

Ordbogsforståelser kan være meget værdifulde til opgaver som at filtrere ordbøger eller transformere deres værdier.

Hvad er indlejrede ordbøger?

Indlejrede ordbøger er ordbøger, der indeholder andre ordbøger som værdier. De kan bruges til at repræsentere komplekse hierarkiske datastrukturer.

Her er et eksempel på en indlejret ordbog:


nested_dict = {
    "person1": {"name": "Alice", "age": 30},
    "person2": {"name": "Bob", "age": 24}
}

For at få adgang til et element i en indlejret ordbog skal du bruge multipel indeksering:


name_p1 = nested_dict["person1"]["name"]

Du kan yderligere redigere eller manipulere elementer i de indlejrede ordbøger efter behov. Husk at holde styr på nøglerne og indlejringsniveauerne, når du arbejder med komplekse indlejrede ordbøger for at undgå forvirring eller fejl.

Almindelige ordbogsbrug

Python-ordbøger er alsidige, så du kan organisere og administrere forskellige datatyper. I dette afsnit vil du udforske nogle almindelige use cases for ordbøger, som vil forbedre din forståelse og hjælpe dig med at implementere dem effektivt i dine projekter.

1. Lagring af nøgleværdidata : Ordbøger er ideelle til at gemme data med unikke nøgler og tilhørende værdier, såsom brugernavne og brugeroplysninger eller produkt-id'er og produktdetaljer:

{
  "username1": {"name": "Alice", "email": "[email protected]"},
  "username2": {"name": "Bob", "email": "[email protected]"}
}

Et eksempel på dette kan ses i denne video om, hvordan man opbygger en Google News Aggregator i LuckyTemplates ved hjælp af Python.

https://youtu.be/InsDb_DR15E

I denne video bruger vi en ordbog til at gemme dataværdier hentet fra et GoogleNews API-kald.

2. Optælling af forekomster : Du kan bruge ordbøger til at tælle forekomsten af ​​elementer, såsom hyppigheden af ​​ord i et dokument. Ved at bruge nøgler til at repræsentere de unikke varer og værdier til at angive antallet, kan du effektivt administrere sådanne data.

Fun fact, du kan gøre dette med Counter-klassen i Python Collections-modulet. Den tager en uordnet liste ind og returnerer en ordbog med hvert unikt element som en nøgle og deres frekvens som deres respektive værdi.

3. Tilknytning af nøgler til flere værdier : Hvis du har brug for at gemme flere værdier for hver ordbogsnøgle, kan du bruge lister eller sæt som værdier i din ordbog:

{
  "fruits": ["apple", "banana", "mango"],
  "vegetables": ["carrot", "broccoli", "spinach"]
}

4. Caching af beregnede resultater : Ordbøger kan bruges til at cache resultater af dyre operationer. Dette er især nyttigt i memoiseringsteknikker og dynamisk programmering, hvor du gemmer resultaterne af beregninger for at undgå overflødige beregninger.

5. Oprettelse af omvendte indekser : I tilfælde som søgemaskiner kan du kræve et inverteret indeks, der kortlægger hvert søgeord til en liste over ressourcer, der indeholder udtrykket. Ved at bruge ordbøger kan du gemme disse data effektivt:

{
  "python": ["resource1", "resource3"],
  "dictionary": ["resource2", "resource3", "resource4"]
}

Dette er blot nogle få eksempler for at illustrere kraften og alsidigheden af ​​Python-ordbøger. Ved at forstå disse use cases og deres applikationer kan du udnytte ordbøgernes fulde potentiale til at bygge effektive løsninger til dine programmeringsopgaver!


Pipe In R: Tilslutningsfunktioner med Dplyr

Pipe In R: Tilslutningsfunktioner med Dplyr

I denne øvelse lærer du, hvordan du kæder funktioner sammen ved hjælp af dplyr-røroperatoren i programmeringssproget R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX fra LuckyTemplates giver dig mulighed for at returnere rangeringen af ​​et specifikt tal i hver tabelrække, der udgør en del af en liste over tal.

Udpakning af LuckyTemplates-temaer og -billeder fra PBIX

Udpakning af LuckyTemplates-temaer og -billeder fra PBIX

Lær, hvordan du adskiller en PBIX-fil for at udtrække LuckyTemplates-temaer og -billeder fra baggrunden og bruge den til at oprette din rapport!

Excel Formler Snydeark: Mellemvejledning

Excel Formler Snydeark: Mellemvejledning

Excel Formler Snydeark: Mellemvejledning

LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det

LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det

LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det

Python i LuckyTemplates: Sådan installeres og konfigureres

Python i LuckyTemplates: Sådan installeres og konfigureres

Lær, hvordan du installerer programmeringssproget Python i LuckyTemplates, og hvordan du bruger dets værktøjer til at skrive koder og vise billeder.

Beregning af dynamiske fortjenestemargener – nem analyse af LuckyTemplates med DAX

Beregning af dynamiske fortjenestemargener – nem analyse af LuckyTemplates med DAX

Lær, hvordan du beregner dynamiske fortjenstmargener ved siden af ​​LuckyTemplates, og hvordan du kan få mere indsigt ved at grave dybere ned i resultaterne.

Sortering af datotabelkolonner i LuckyTemplates

Sortering af datotabelkolonner i LuckyTemplates

Lær, hvordan du sorterer felterne fra kolonner med udvidet datotabel korrekt. Dette er en god strategi at gøre for vanskelige felter.

Find dine topprodukter for hver region i LuckyTemplates ved hjælp af DAX

Find dine topprodukter for hver region i LuckyTemplates ved hjælp af DAX

I denne artikel gennemgår jeg, hvordan du kan finde dine topprodukter pr. region ved hjælp af DAX-beregninger i LuckyTemplates, herunder funktionerne TOPN og CALCUATE.

Junk Dimension: Hvad er det, og hvorfor det er alt andet end junk

Junk Dimension: Hvad er det, og hvorfor det er alt andet end junk

Lær, hvordan du bruger en uønsket dimension til flag med lav kardinalitet, som du ønsker at inkorporere i din datamodel på en effektiv måde.