logo

Python | Veidi, kā noņemt atslēgu no vārdnīcas

Vārdnīca tiek izmantota daudzās praktiskās lietojumprogrammās, piemēram, ikdienas programmēšanā, tīmekļa izstrādē un AI/ML programmēšanā, padarot to par noderīgu konteineru kopumā. Līdz ar to īsu tekstu pārzināšana dažādu ar vārdnīcas lietošanu saistītu uzdevumu veikšanai vienmēr ir priekšrocība. Šajā rakstā ir apskatīts viens no šādiem uzdevumiem: vārdnīcas atslēgas-vērtības pāra dzēšana/noņemšana no vārdnīcas, mēs apspriedīsim dažādas metodes, kā rīkoties ar šo uzdevumu, un pēdējā redzēsim, kā mēs varam izdzēst visas atslēgas no vārdnīcas. Vārdnīca .

Piemērs:



 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}>

1. metode: noņemiet atslēgu no vārdnīcas, izmantojot del

Atslēgvārdu del var izmantot, lai dzēstu atslēgu, kas atrodas Python vārdnīcā. Viens no šīs izmantošanas trūkumiem ir tāds, ka tas rada izņēmumu, ja atslēga netiek atrasta, un tādēļ ir jārisina atslēgas neesība. Atslēgas un vērtības pāra dzēšanas demonstrēšana, izmantojot 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'>]>

>

>

attēla centrēšana css

Izvade:

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

Izņēmums:

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

Vārdnīcas inicializācijas un vienuma noņemšanas no vārdnīcas laika sarežģītība, izmantojot priekšrakstu del, ir O(1).

Šim kodam nepieciešamā palīgtelpa ir O(1), jo mēs tikai modificējam esošo vārdnīcu, nevis veidojam jaunas datu struktūras.

2. metode: noņemiet atslēgu no vārdnīcas, izmantojot pop()

The pop () var izmantot, lai izdzēstu atslēgu un tās vērtību vietā. Priekšrocība salīdzinājumā ar del izmantošanu ir tāda, ka tā nodrošina mehānismu vēlamās vērtības drukāšanai, ja mēģinātu noņemt neesošu diktātu. pāri. Otrkārt, tā atgriež arī noņemtās atslēgas vērtību papildus vienkāršas dzēšanas darbības veikšanai. Atslēgas vērtību pāra dzēšanas demonstrēšana, izmantojot 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))>

>

>

Izvade:

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>

Laika sarežģītība: O(1)
Palīgtelpa: O(1)

3. metode: vienumu () + diktu izpratnes izmantošana, lai noņemtu atslēgu no vārdnīcas

vienumi () kopā ar diktātu izpratni var arī palīdzēt mums sasniegt atslēgu-vērtību pāra dzēšanas uzdevumu, taču tam ir trūkums, ka tas nav uz vietas diktēts. tehnika. Faktiski tiek izveidots jauns diktāts, izņemot atslēgu, kuru mēs nevēlamies iekļaut. Atslēgas-vērtību pāra dzēšanas demonstrēšana, izmantojot vienumus () + dikta izpratni.

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))>

>

>

Izvade:

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}>

Laika sarežģītība: O(n), kur n ir saraksta test_dict garums
Palīgtelpa: tiek izveidota O(n) papildu telpa ar izmēru n, kur n ir elementu skaits res sarakstā

4. metode: izmantojiet Python vārdnīcas izpratni, lai noņemtu atslēgu no vārdnīcas

Šajā piemērā mēs izmantosim vārdnīcas izpratni, lai noņemtu atslēgu no vārdnīcas.

Python3

j e s t




# 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)>

>

>

Izvade:

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}>

5. metode: atkārtošana un likvidēšana

Šajā piemērā mēs izmantosim a cilpa lai izņemtu atslēgu no vārdnīcas.

Python3




izņēmumu apstrāde java
# 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)>

>

>

Izvade:

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

Kā izdzēst visas vārdnīcas atslēgas?

1. metode: izdzēsiet visas vārdnīcas atslēgas, izmantojot del

Atslēgvārdu del var izmantot arī, lai izdzēstu sarakstu, sadalītu sarakstu, dzēstu vārdnīcas, noņemtu atslēgu un vērtību pārus no vārdnīcas, dzēstu mainīgos u.c.

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!'>)>

>

>

Izvade:

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

2. metode: izdzēsiet visas vārdnīcas atslēgas, izmantojot dict.clear()

Clear() metode noņem visus vienumus no vārdnīcas. Clear() metode neatgriež nekādu vērtību.

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)>

>

>

Izvade:

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

Laika sarežģītība: O(1)

pašreizējais datums java

Palīgtelpa: O(1)