Python | Måter å fjerne en nøkkel fra ordboken

Ordbok brukes også i mange praktiske applikasjoner som dagsprogrammering, webutvikling og AI/ML-programmering, noe som gjør den til en nyttig beholder totalt sett. Derfor er det alltid et pluss å kjenne stenografier for å oppnå forskjellige oppgaver relatert til ordbokbruk. Denne artikkelen tar for seg en slik oppgave med å slette/fjerne et ordboknøkkelverdipar fra en ordbok, vi vil diskutere ulike metoder for å håndtere gitte oppgaver, og i Siste skal vi se hvordan vi kan slette alle nøkler fra Ordbok .

Eksempel:

 Before remove key: {'Anuradha': 21, 'Haritha': 21, 'Arushi': 22, 'Mani': 21 } Operation Perform:  del test_dict['Mani'] After removing key: {'Anuradha': 21, 'Haritha': 21, 'Arushi': 22} 

Metode 1: Fjern en nøkkel fra en ordbok ved å bruke del

Nøkkelordet del kan brukes til å slette nøkkelen som finnes i ordboken i Python. En ulempe som kan tenkes å bruke dette er at det reiser et unntak hvis nøkkelen ikke blir funnet og derfor ikke-eksistens av nøkkelen må håndteres. Demonstrerer sletting av nøkkelverdipar ved hjelp av del.

Python3




# Initializing dictionary> test_dict> => {> 'Arushi'> :> 22> ,> 'Mani'> :> 21> ,> 'Haritha'> :> 21> }> # Printing dictionary before removal> print> (> 'The dictionary before performing remove is : '> , test_dict)> # Using del to remove a dict> # removes Mani> del> test_dict[> 'Mani'> ]> # Printing dictionary after removal> print> (> 'The dictionary after remove is : '> , test_dict)> # Using del to remove a dict> # raises exception> del> test_dict[> 'Mani'> ]>

Utgang:

The dictionary before performing remove is : {'Arushi': 22, 'Mani': 21, 'Haritha': 21} The dictionary after remove is : {'Arushi': 22, 'Haritha': 21} 

Unntak:

Traceback (most recent call last): File '/home/44db951e7011423359af4861d475458a.py', line 20, in del test_dict['Mani'] KeyError: 'Mani' 

Tidskompleksiteten for å initialisere ordboken og fjerne et element fra ordboken ved å bruke del-setningen er O(1).

Hjelpeplassen som kreves for denne koden er O(1), siden vi bare endrer den eksisterende ordboken og ikke oppretter noen nye datastrukturer.

Metode 2: Fjern en nøkkel fra en ordbok ved å bruke pop()

De pop() kan brukes til å slette en nøkkel og dens verdi på plass. Fordelen fremfor å bruke del er at det gir mekanismen for å skrive ut ønsket verdi hvis du prøver å fjerne en ikke-eksisterende diktat. par. For det andre returnerer den også verdien til nøkkelen som fjernes i tillegg til å utføre en enkel sletteoperasjon. Demonstrerer sletting av nøkkelverdipar ved hjelp av pop()

Python3




# Initializing dictionary> test_dict> => {> 'Arushi'> :> 22> ,> 'Anuradha'> :> 21> ,> 'Mani'> :> 21> ,> 'Haritha'> :> 21> }> # Printing dictionary before removal> print> (> 'The dictionary before performing remove is : '> +> str> (test_dict))> # Using pop() to remove a dict. pair> # removes Mani> removed_value> => test_dict.pop(> 'Mani'> )> # Printing dictionary after removal> print> (> 'The dictionary after remove is : '> +> str> (test_dict))> print> (> 'The removed key's value is : '> +> str> (removed_value))> print> (> ' '> )> # Using pop() to remove a dict. pair> # doesn't raise exception> # assigns 'No Key found' to removed_value> removed_value> => test_dict.pop(> 'Manjeet'> ,> 'No Key found'> )> # Printing dictionary after removal> print> (> 'The dictionary after remove is : '> +> str> (test_dict))> print> (> 'The removed key's value is : '> +> str> (removed_value))>

Produksjon:

The dictionary before performing remove is : {'Arushi': 22, 'Anuradha': 21, 'Mani': 21, 'Haritha': 21} The dictionary after remove is : {'Arushi': 22, 'Anuradha': 21, 'Haritha': 21} The removed key's value is : 21 The dictionary after remove is : {'Arushi': 22, 'Anuradha': 21, 'Haritha': 21} The removed key's value is : No Key found 

Tidskompleksitet: O(1)
Hjelpeområde: O(1)

Metode 3: Bruke items() + dict-forståelse for å fjerne en nøkkel fra en ordbok

elementer () kombinert med diktatforståelse kan også hjelpe oss med å oppnå oppgaven med å slette nøkkelverdipar, men det har ulempen at det ikke er et på plass dikt. teknikk. Faktisk opprettes en ny diktat bortsett fra nøkkelen vi ikke ønsker å inkludere. Demonstrerer sletting av nøkkelverdipar ved å bruke elementer() + dict-forståelse.

Python3




# Initializing dictionary> test_dict> => {> 'Arushi'> :> 22> ,> 'Anuradha'> :> 21> ,> > 'Mani'> :> 21> ,> 'Haritha'> :> 21> }> # Printing dictionary before removal> print> ('The dictionary before performing> remove> is> : '> +> str> (test_dict))> # Using items() + dict comprehension to remove a dict. pair> # removes Mani> new_dict> => {key: val> for> key,> > val> in> test_dict.items()> if> key !> => 'Mani'> }> # Printing dictionary after removal> print> (> 'The dictionary after remove is : '> +> str> (new_dict))>

Produksjon:

The dictionary before performing remove is : {'Anuradha': 21, 'Haritha': 21, 'Arushi': 22, 'Mani': 21} The dictionary after remove is : {'Anuradha': 21, 'Haritha': 21, 'Arushi': 22} 

Tidskompleksitet: O(n), der n er lengden på listen test_dict
Auxiliary Space: O(n) ekstra plass av størrelse n opprettes der n er antall elementer i res-listen

Metode 4: Bruk en Python-ordbokforståelse for å fjerne en nøkkel fra en ordbok

I dette eksemplet vil vi bruke ordbokforståelse for å fjerne en nøkkel fra en ordbok.

Python3




# Initializing dictionary> test_dict> => {> 'Arushi'> :> 22> ,> 'Anuradha'> :> 21> ,> 'Mani'> :> 21> ,> 'Haritha'> :> 21> }> # Printing dictionary before removal> print> (> 'The dictionary before performing remove is : '> +> str> (test_dict))> a_dict> => {key: test_dict[key]> for> key> in> test_dict> if> key !> => 'Mani'> }> print> (> 'The dictionary after performing remove is : '> , a_dict)>

Produksjon:

The dictionary before performing remove is : {'Arushi': 22, 'Anuradha': 21, 'Mani': 21, 'Haritha': 21} The dictionary after performing remove is : {'Arushi': 22, 'Anuradha': 21, 'Haritha': 21} 

Metode 5: Iterering og eliminering

I dette eksemplet vil vi bruke en Løkke for å fjerne en nøkkel fra en ordbok.

Python3




# Initializing dictionary> test_dict> => {> 'Arushi'> :> 22> ,> 'Anuradha'> :> 21> ,> 'Mani'> :> 21> ,> 'Haritha'> :> 21> }> print> (test_dict)> # empty the dictionary d> y> => {}> # eliminate the unrequired element> for> key, value> in> test_dict.items():> > if> key !> => 'Arushi'> :> > y[key]> => value> print> (y)>

Produksjon:

{'Arushi': 22, 'Anuradha': 21, 'Mani': 21, 'Haritha': 21} {'Anuradha': 21, 'Mani': 21, 'Haritha': 21} 

Hvordan slette alle nøkler fra en ordbok?

Metode 1: Slett alle nøkler fra en ordbok ved å bruke del

Nøkkelordet del kan også brukes til å slette en liste, dele opp en liste, slette ordbøker, fjerne nøkkelverdi-par fra en ordbok, slette variabler osv.

Python3




# Initializing dictionary> test_dict> => {> 'Arushi'> :> 22> ,> 'Anuradha'> :> 21> ,> 'Mani'> :> 21> ,> 'Haritha'> :> 21> }> print> (test_dict)> # empty the dictionary d> del> test_dict> try> :> > print> (test_dict)> except> :> > print> (> 'Deleted!'> )>

Produksjon:

{'Arushi': 22, 'Anuradha': 21, 'Mani': 21, 'Haritha': 21} Deleted! 

Metode 2: Slett alle nøkler fra en ordbok ved å bruke dict.clear()

Clear()-metoden fjerner alle elementer fra ordboken. Clear()-metoden returnerer ingen verdi.

Python3




# Initializing dictionary> test_dict> => {> 'Arushi'> :> 22> ,> 'Anuradha'> :> 21> ,> 'Mani'> :> 21> ,> 'Haritha'> :> 21> }> print> (test_dict)> # empty the dictionary d> test_dict.clear()> print> (> 'Length'> ,> len> (test_dict))> print> (test_dict)>

Produksjon:

{'Arushi': 22, 'Anuradha': 21, 'Mani': 21, 'Haritha': 21} Length 0 {} 

Tidskompleksitet: O(1)

Hjelpeplass: O(1)