Python Dictionary – Alt du trenger å vite

Python-ordbøker er en utrolig nyttig datastruktur som du ofte vil finne deg selv etter i programmeringsarbeidet ditt. Deres unike evne til å tilordne nøkler til deres respektive verdier gir rask, effektiv tilgang og forenklet kode når du administrerer komplekse datasett.

Python-ordbøker er i hovedsak en implementering av assosiative matriser. De gir en fleksibel og effektiv måte å lagre og manipulere data i form av nøkkelverdi-par.

De er svært allsidige og kan romme utskiftbare og bestilte samlinger uten å tillate dupliserte nøkler.

Når vi dykker ned i ordbøker i denne artikkelen, vil du finne at de er kraftige verktøy for å organisere og få tilgang til dataene dine.

Så sørg for å gjøre deg kjent med ins og outs av ordbøkene for å frigjøre deres fulle potensial i prosjektene dine!

Python Dictionary – Alt du trenger å vite

Innholdsfortegnelse

Forstå Python-ordbøker

En ordbok i er en kraftig og fleksibel datastruktur som lar deg lagre en samling nøkkelverdi-par. Tenk på en ordbok som en måte å tilordne nøkler til deres tilsvarende verdier, noe som gjør det enkelt å hente informasjon som er relatert til en spesifikk identifikator.

For å lage en ordbok kan du bruke krøllete klammeparenteser ( { } ) som omslutter en kommadelt liste over nøkkelverdi-par. For eksempel:

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

Husk at ordbøker i Python kan endres, noe som betyr at du kan endre innholdet etter at de er opprettet. For å legge til eller oppdatere et nøkkelverdi-par, bruk bare 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 gjelder tilgang til verdier i en ordbok, trenger du bare nøkkelen:

value = your_dict["key1"]

Python Dictionary – Alt du trenger å vite

I tilfelle du prøver å få tilgang til en nøkkel som ikke finnes i ordboken, vil du støte på en nøkkelfeil. For å unngå dette kan du bruke get()-metoden:

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

En ting du må huske er at en Python-ordbok ikke kan inneholde dupliserte nøkler. Hver nøkkel må være unik og være av en uforanderlig datatype.

Du kan for eksempel bruke en tuppel, streng, heltall eller til og med en boolsk nøkkel. Du kan imidlertid ikke bruke lister, ordbøker eller sett.

Det er ingen slike begrensninger for verdier. Du kan bruke både mutable og uforanderlige datatyper.

Å fjerne et element fra en ordbok gjøres ved å bruke del nøkkelordet:

del your_dict["key1"]

De tilbyr også flere metoder for å iterere gjennom innholdet. Du kan for eksempel gå over ordboknøklene, verdiene eller til og med begge deler:

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 nå bruke disse ordbokmetodene og teknikkene for å effektivt lagre, hente og manipulere data mens du arbeider med .

Hvordan lage en Python-ordbok

Det er to hovedmåter du kan lage Python-ordbøker: ved å bruke krøllete parenteser og dict()- konstruktøren.

Bruker krøllete parenteser

En metode du kan bruke for å lage en ordbok er å bruke krøllede parenteser( {} ). For å initialisere en tom ordbok, kan du ganske enkelt bruke empty_dict = {} .

For å lage en ordbok med nøkkel-verdi-par, skille nøklene og verdiene med kolon. Deretter skiller du hvert par med et komma:

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

Ved å bruke dette formatet har du laget en Python-ordbok med tre nøkkelverdi-par. Husk at nøklene må være unike mens ordbokverdiene kan dupliseres.

Bruker Dict Constructor

En annen metode for å lage en Python-ordbok er å bruke dict() -konstruktøren. For å lage en tom ordbok, ring ganske enkelt denne funksjonen uten noen argumenter: empty_dict = dict() .

For å lage en ordbok ved å bruke dict() -konstruktøren, kan du bruke følgende syntaks:

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

Denne metoden lager også en Python-ordbok med tre nøkkelverdielementer. Merk at, i motsetning til metoden med krølleparenteser, krever ikke dict()- konstruktøren anførselstegn rundt tastene.

Ordbokverdiene krever imidlertid fortsatt sitater rundt dem

Nå som du er kjent med to måter å lage Python-ordbøker på, kan du begynne å implementere dem i koden din og utnytte deres kraftige funksjoner i applikasjonene dine.

Hvordan få tilgang til ordbokelementer

I denne delen vil du lære om ulike måter å få tilgang til elementer i en ordbok. Ordbøker lagrer data i nøkkelverdi-par, og du kan få tilgang til hver ordbokverdi ved å bruke deres respektive nøkler.

Vi vil dekke to populære metoder: Bruk av nøkler og get - metoden.

Bruke nøkler

En av de enkleste måtene å få tilgang til ordbokelementer på er å bruke tastene. For å få verdien av en bestemt ordboknøkkel, sett nøkkelen innenfor hakeparenteser ved siden av ordboknavnet:

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

phone_value = mydict['phone-number']

I dette eksemplet vil navn_verdi lagre strengen 'John' . Merk at hvis du prøver å få tilgang til en ikke-eksisterende nøkkel, vil Python oppstå en KeyError .

Python Dictionary – Alt du trenger å vite

Bruke Get Method

Et alternativ til å bruke nøkler direkte er get()- metoden, som lar deg få tilgang til ordbokelementer uten risiko for å oppstå en KeyError. I stedet returnerer get -metoden en standardverdi hvis den angitte nøkkelen ikke finnes:

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 eksemplet vil name_value lagre strengen ' John ' som før siden ' name '-tasten er til stede i ordboken. Country_value vil imidlertid lagre standardverdien ' Key not found ' siden ' country '-nøkkelen ikke finnes i ordboken.

Python Dictionary – Alt du trenger å vite

Get () -metoden gir en mer fleksibel måte å få tilgang til ordbokelementer på, siden den lar deg håndtere manglende nøkler på en elegant måte. Du kan velge å bruke begge metodene avhengig av dine behov og muligheten for å støte på ikke-eksisterende nøkler.

Hvordan endre ordbokelementer

I denne delen lærer du hvordan du endrer elementer i en Python-ordbok. Det er to primære operasjoner for å oppnå dette: legge til nye elementer og oppdatere eksisterende.

Begge disse metodene vil hjelpe deg å opprettholde nøyaktigheten og anvendeligheten til ordboken din. La oss se på dem:

  1. Legge til nye elementer

Det er enkelt å legge til et nytt element i en ordbok. For å gjøre det, spesifiser det nye nøkkelverdi-paret ved å bruke en tilordningsoperator, slik:

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

Etter å ha utført kodebiten ovenfor, vil ordboken din nå inkludere det nye paret:

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

Du kan også legge til flere nøkkelverdi-par samtidig ved å bruke ordbokens update() -metode

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

Nå vil ordboken din inneholde følgende oppføringer:

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

For å oppdatere verdien til et eksisterende element, trenger du bare å referere til nøkkelen og tilordne en ny verdi til den:

your_dict["key1"] = "updated_value1"

Denne endringen vil resultere i følgende ordbok:

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

Hvis du trenger å oppdatere flere elementer samtidig, bruk update()- metoden igjen. For å bruke den, send inn en ny ordbok som inneholder de ønskede endringene.

La oss for eksempel oppdatere your_dict-ordboken med verdiene fra oppdateringsordboken:

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

Når disse oppdateringene er tatt i bruk, vil your_dict-ordboken se slik ut:

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

Disse operasjonene er viktige verktøy når du arbeider, da de lar deg holde datastrukturene dine oppdatert og nøyaktig.

Sletting av ordbokelementer

I denne delen vil vi utforske to vanlige måter å slette ordbokelementer i Python: del- nøkkelordet og clear()- metoden.

  1. Del søkeord

Nøkkelordet del brukes til å fjerne et spesifikt nøkkelverdi-par fra en ordbok. Den fungerer på stedet og gir en KeyError hvis nøkkelen ikke finnes i ordboken. For å slette et element, bruk bare følgende syntaks:

del my_dict[key]

For eksempel, hvis du ønsker å slette en nøkkel kalt " brand " fra en ordbok som heter my_dict, vil du skrive:

del my_dict["brand"]

Husk at det er en god praksis å sikre at nøkkelen finnes i ordboken før du bruker nøkkelordet del. Du kan gjøre dette ved å sjekke om nøkkelen er i ordboken:

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

Clear()-metoden er en annen måte å slette ordbokelementer på. Denne metoden fjerner alle ordboknøkler og verdier i én operasjon, noe som resulterer i en tom ordbok.

For å bruke clear()-metoden i ordboken din, bare kall den. For eksempel, hvis du har en eksisterende ordbok som heter my_dict og du vil fjerne alt innholdet i den, vil du skrive:

my_dict.clear()

Avslutningsvis har du lært to metoder for å slette elementer fra en Python-ordbok: del-nøkkelordet for å fjerne individuelle nøkkelverdi-par og clear()-metoden for å tømme en hel ordbok.

Hva er noen vanlige ordbokmetoder?

I denne delen vil vi utforske noen vanlige Python-ordbokmetoder. Disse innebygde metodene vil hjelpe deg med å manipulere og endre ordbøker for å passe dine behov.

Nøkler

For å hente alle nøklene fra ordboken din, kan du bruke keys() -metoden. Dette vil returnere et visningsobjekt som inneholder alle ordbokens nøkler.

For eksempel:

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

Verdier

På samme måte lar values() -metoden deg få alle verdiene som er lagret i ordboken. Dette er også presentert som et utsiktsobjekt.

For eksempel:

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

Varer

Hvis du trenger å få tilgang til både nøkler og verdier samtidig, bruk items()-metoden. Dette returnerer et visningsobjekt som inneholder nøkkelverdi-par i form av tupler.

La oss se på et eksempel:

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

Oppdater

Update()-metoden lar deg endre ordboken din ved å legge til eller oppdatere nøkkelverdi-elementer. For å bruke metoden må du oppgi en ordbok som argument.

For å slå sammen to ordbøker eller oppdatere spesifikke nøkler, bruk denne metoden:

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

Pop

Ved å bruke pop()-metoden kan du fjerne et spesifikt element fra ordboken. For å bruke det, oppgi nøkkelen som skal fjernes som et argument i metoden.

Metoden vil returnere verdien knyttet til den angitte nøkkelen og fjerne den fra ordboken:

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 siste nøkkelverdi-paret i ordboken. Den returnerer en tuppel som inneholder den fjernede nøkkelen og verdien. For eksempel:

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

Ved å bruke disse metodene kan du effektivt administrere og manipulere ordbøkene dine for å oppnå en rekke oppgaver.

Bruke Python Dictionaries

I denne delen vil du lære forskjellige teknikker for å jobbe med ordbøker, for eksempel å gå over dem, bruke ordbokforståelser og arbeide med nestede ordbøker.

Sløyfe over ordbøker

For å gå over en ordbok, kan du bruke de innebygde metodeelementene () til å iterere over nøkkelverdi-par. Dette lar deg utføre operasjoner på både nøkler og verdier på en lesbar og effektiv måte.

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 bruke metodene keys() og values() til å iterere over enten ordboknøklene eller verdier utelukkende.

Hva er ordbokforståelse?

Ordbokforståelser er en kortfattet måte å lage ordbøker på ved hjelp av en enkelt kodelinje. De ligner på listeforståelser, men fungerer med ordbøker i stedet.

Her er et eksempel på en ordbokforståelse som kvadrerer tallene fra 1 til 5:


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

Ordbokforståelser kan være svært verdifulle for oppgaver som å filtrere ordbøker eller transformere verdiene deres.

Hva er nestede ordbøker?

Nestede ordbøker er ordbøker som inneholder andre ordbøker som verdier. De kan brukes til å representere komplekse hierarkiske datastrukturer.

Her er et eksempel på en nestet ordbok:


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

For å få tilgang til et element i en nestet ordbok, bruk multippel indeksering:


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

Du kan videre redigere eller manipulere elementer i de nestede ordbøkene etter behov. Husk å holde styr på nøklene og neste nivåer når du arbeider med komplekse nestede ordbøker for å unngå forvirring eller feil.

Vanlige ordbokbruk

Python-ordbøker er allsidige, og lar deg organisere og administrere ulike datatyper. I denne delen vil du utforske noen vanlige brukstilfeller for ordbøker, som vil forbedre din forståelse og hjelpe deg med å implementere dem effektivt i prosjektene dine.

1. Lagring av nøkkelverdidata : Ordbøker er ideelle for lagring av data med unike nøkler og tilknyttede verdier, for eksempel brukernavn og brukerinformasjon eller produkt-ID-er og produktdetaljer:

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

Et eksempel på dette kan sees i denne videoen om hvordan du bygger en Google News Aggregator i LuckyTemplates med Python.

https://youtu.be/InsDb_DR15E

I denne videoen bruker vi en ordbok for å lagre dataverdier hentet fra et GoogleNews API-kall.

2. Telle forekomster : Du kan bruke ordbøker til å telle forekomster av elementer, for eksempel frekvensen av ord i et dokument. Ved å bruke nøkler for å representere de unike elementene, og verdier for å indikere antallet, kan du effektivt administrere slike data.

Fun fact, du kan gjøre dette med Counter-klassen i Python Collections-modulen. Den tar inn en uordnet liste og returnerer en ordbok med hvert unike element som en nøkkel og deres frekvens som deres respektive verdi.

3. Tilordne nøkler til flere verdier : Hvis du trenger å lagre flere verdier for hver ordboknøkkel, kan du bruke lister eller sett som verdier i ordboken din:

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

4. Bufring av beregnede resultater : Ordbøker kan brukes til å bufre resultater av dyre operasjoner. Dette er spesielt nyttig i memoiseringsteknikker og dynamisk programmering, hvor du lagrer resultatene av beregninger for å unngå overflødige beregninger.

5. Opprette inverterte indekser : I tilfeller som søkemotorer kan du kreve en invertert indeks som tilordner hvert søkeord til en liste over ressurser som inneholder ordet. Ved å bruke ordbøker kan du lagre disse dataene effektivt:

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

Dette er bare noen få eksempler for å illustrere kraften og allsidigheten til Python-ordbøkene. Ved å forstå disse brukstilfellene og deres applikasjoner kan du utnytte det fulle potensialet til ordbøker for å bygge effektive løsninger for dine programmeringsoppgaver!


Pipe In R: Koblingsfunksjoner med Dplyr

Pipe In R: Koblingsfunksjoner med Dplyr

I denne opplæringen lærer du hvordan du kobler funksjoner sammen ved å bruke dplyr-røroperatøren i programmeringsspråket R.

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

RANKX fra LuckyTemplates lar deg returnere rangeringen til et spesifikt tall i hver tabellrad som utgjør en del av en liste med tall.

Trekker ut LuckyTemplates-temaer og bilder fra PBIX

Trekker ut LuckyTemplates-temaer og bilder fra PBIX

Lær hvordan du demonterer en PBIX-fil for å trekke ut LuckyTemplates-temaer og bilder fra bakgrunnen og bruke den til å lage rapporten din!

Excel Formulas Cheat Sheet: Mellomveiledning

Excel Formulas Cheat Sheet: Mellomveiledning

Excel Formulas Cheat Sheet: Mellomveiledning

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

Python i LuckyTemplates: Hvordan installere og sette opp

Python i LuckyTemplates: Hvordan installere og sette opp

Lær hvordan du installerer programmeringsspråket Python i LuckyTemplates og hvordan du bruker verktøyene til å skrive koder og vise visuelle elementer.

Beregning av dynamiske fortjenestemarginer – enkel analyse av LuckyTemplates med DAX

Beregning av dynamiske fortjenestemarginer – enkel analyse av LuckyTemplates med DAX

Lær hvordan du beregner dynamiske fortjenestemarginer ved siden av LuckyTemplates og hvordan du kan få mer innsikt ved å grave dypere inn i resultatene.

Sortering av datotabellkolonner i LuckyTemplates

Sortering av datotabellkolonner i LuckyTemplates

Lær hvordan du sorterer feltene fra kolonner med utvidet datotabell på riktig måte. Dette er en god strategi å gjøre for vanskelige felt.

Finn dine beste produkter for hver region i LuckyTemplates ved å bruke DAX

Finn dine beste produkter for hver region i LuckyTemplates ved å bruke DAX

I denne artikkelen går jeg gjennom hvordan du kan finne de beste produktene dine per region ved å bruke DAX-beregninger i LuckyTemplates, inkludert TOPN- og CALCUATE-funksjonene.

Søppeldimensjon: Hva er det og hvorfor det er alt annet enn søppel

Søppeldimensjon: Hva er det og hvorfor det er alt annet enn søppel

Lær hvordan du bruker en søppeldimensjon for flagg med lav kardinalitet som du ønsker å inkludere i datamodellen din på en effektiv måte.