poista avain sanakirjasta kielessä Python / del vs dict.pop () vs. ymmärtäminen

tässä artikkelissa käsitellään 6 eri tapaa poistaa avain python-sanakirjasta, eli

  • poista avain sanakirjasta dict-kielellä.pop().
  • Poista näppäin sanakirjasta käyttäen pop() ja kokeile/paitsi.
  • poista avain sanakirjasta käyttäen kohteita () & silmukalle.
  • poista avain sanakirjasta käyttäen kohteita () & sanakirjan ymmärrettävyys.
  • poista avain sanakirjasta käyttäen del: ää.
  • avaimen poistaminen sanakirjasta käyttäen del-avainsanaa ja kokeile / paitsi.

Oletetaan, että meillä on kielisanakirja ja int eli

# Dictionary of strings and intword_freq_dict = {"Hello": 56, "at": 23, "test": 43, "this": 43}

nyt haluamme poistaa tästä sanakirjasta kohteen, jonka avain on ”at”. On olemassa erilaisia tapoja tehdä se. Tutkitaanpa niitä yksi kerrallaan,

poista avain dictiä käyttävästä sanakirjasta.pop ()

Python-sanakirjaluokassa on metodi pop (), jolla sanakirjasta poistetaan jokin kohta avaimen perusteella ts.

dictionary.pop(key)
  • jos annettu avain on olemassa sanakirjassa niin dict.pop () poistaa elementin annetulla avaimella ja palauttaa sen arvon.
  • jos annettua avainta ei ole sanakirjassa, se Palauttaa annetun oletusarvon.
  • jos annettua avainta ei ole sanakirjassa eikä oletusarvoa anneta pop: lle (), se heittää Avainvirheen

poistetaan Elementti dictistä pop: lla(),

key_to_be_deleted = 'this'# As 'this' key is present in dict, so pop() will delete# its entry and return its valueresult = word_freq_dict.pop(key_to_be_deleted, None)print("Deleted item's value = ", result)print("Updated Dictionary :", word_freq_dict)

tuloste:

Deleted item's value = 43Updated Dictionary : {'Hello': 56, 'at': 23, 'test': 43}

se poisti sanakirjasta avainarvoparin, jossa avain oli ”tämä”, ja myös palautti sen arvon.

  • Python dict.pop () – menetelmä selitetty yksityiskohtaisesti
  • kuinka poistaa useita näppäimiä sanakirjasta iteroinnin aikana?

poista avain sanakirjasta jos on olemassa käyttäen pop ()

oletusarvo pop() on välttämätön, koska jos annettu avain ei ole sanakirjassa eikä oletusarvoa ole annettu pop (), se heittää avainvirheen. Poistetaan elementti, jota sanakirjassa ei ole, käyttäen pop () – funktiota ja ohittamatta oletusarvo-argumenttia pop () eli

key_to_be_deleted = 'where'word_freq_dict.pop(key_to_be_deleted)

virhe:

KeyError: 'where'

jos annettu näppäin pop () – funktiossa ei ole sanakirjassa eikä myöskään oletusarvoa ole annettu, voi pop () heittää Avainvirheen. Tämän virheen välttämiseksi meidän tulisi siis aina tarkistaa, onko avain olemassa sanakirjassa ennen kuin yritämme poistaa sen pop () – funktion avulla ja ilman oletusarvoa eli

key_to_be_deleted = 'where'if key_to_be_deleted in word_freq_dict: word_freq_dict.pop(key_to_be_deleted)else: print(f'Key {key_to_be_deleted} is not in the dictionary')

ulostulo:

Key where is not in the dictionary

voimme myös käyttää try / paitsi käsitellä että virhe,

key_to_be_deleted = 'where'try: word_freq_dict.pop(key_to_be_deleted)except KeyError: print(f'Key {key_to_be_deleted} is not in the dictionary')

tuloste:

Key where is not in the dictionary

poista avain sanakirjasta käyttäen kohteita () & silmukalle

iteroi avaimen yli ja suodata poistettava avain eli

# Dictionary of strings and intword_freq_dict = {"Hello": 56, "at": 23, "test": 43, "this": 43}key_to_be_deleted = 'at'new_dict = {}for key, value in word_freq_dict.items(): if key is not key_to_be_deleted: new_dict = valueword_freq_dict = new_dictprint(word_freq_dict)

ulostulo:

{'Hello': 56, 'test': 43, 'this': 43}

loimme uuden väliaikaisen sanakirjan ja sen jälkeen iteroimme kaikki alkuperäisen sanakirjan avainarvoparit. Iteroinnin aikana kopioimme avainarvoparin uuteen väliaikaiseen sanakirjaan vain, jos avain ei ole sama kuin poistettava avain. Kun iteraatio on ohi, kopioimme uuden väliaikaisen sanakirjan sisällön alkuperäiseen sanakirjaan. Tässä lähestymistavassa ei ole vaaraa Avainvirheestä jne.

poista avain sanakirjasta käyttäen kohteita () & sanakirjan ymmärrettävyys

edellisen esimerkin logiikalla voimme suodattaa sanakirjan sisällön avaimen perusteella käyttäen kohteita () & sanakirjan ymmärrettävyys,

word_freq_dict = {key: value for key, value\ in word_freq_dict.items()\ if key is not key_to_be_deleted}print(word_freq_dict)

tuloste:

{'Hello': 56, 'test': 43, 'this': 43}

toistimme sanakirjan avainarvoparit ja rakensimme uuden sanakirjan sanakirjan ymmärtämisen avulla. Suljimme pois parin, jossa avain sopi poistettavaan avaimeen. Sitten määräsimme tämän uuden sanakirjan alkuperäiseen sanakirjaan. Se antoi vaikutelman, että kohta sanakirjasta poistetaan avaimen perusteella.

tämän lähestymistavan etuna on siis se, että Avainvirheestä ei tarvitse huolehtia, mikäli avainta ei löydy sanakirjasta.

poista avain sanakirjasta käyttäen del

voimme del-lauseella poistaa sanakirjasta avainarvoparin avaimen perusteella,

del dict

valitse ensin Elementti sanakirjasta syöttämällä avain alaindeksioperaattoriin ja siirrä se sitten del-lauseeseen. Jos avain on sanakirjassa, se poistaa avaimen ja sitä vastaavan arvon sanakirjasta. Mutta jos annettu avain ei ole sanakirjassa, se heittää virheen eli Avainvirheen.

käytetään sitä avaimen poistamiseen edellä mainitusta sanakirjasta,

# Dictionary of strings and intword_freq_dict = {"Hello": 56, "at": 23, "test": 43, "this": 43}# Deleting an item from dictionary using deldel word_freq_dictprint(word_freq_dict)

tuloste:

{'Hello': 56, 'test': 43, 'this': 43}

se poisti sanakirjasta kohdan, jossa avain oli ”at”. Mutta mitä jos käytämme del lauseke avain, jota ei ole sanakirjassa, niin se voi heittää Avaimenvirhe. Esimerkiksi,

key_to_be_deleted = 'where'del word_freq_dict

tuloste:

KeyError: 'where'

siksi meidän tulisi aina tarkistaa, onko avain olemassa sanakirjassa ennen kuin yritämme poistaa ne del-avainsanalla Avainvirheen välttämiseksi,

# If key exist in dictionary then delete it using del.key_to_be_deleted = 'where'if key_to_be_deleted in word_freq_dict: del word_freq_dictelse: print(f'Key {key_to_be_deleted} is not in the dictionary')

tuloste:

Key where is not in the dictionary

avaimen poistaminen sanakirjasta käyttäen del-avainsanaa ja try/paitsi

jos emme halua if-tarkistusta ennen soittoa del, Voimme käyttää try / paitsi liian. Yritetään poistaa avain, jota ei ole sanakirjassa ja kiinni virhe liian käyttämällä try / paitsi,

# If key exist in dictionary then delete it using del.key_to_be_deleted = 'where'try: del word_freq_dictexcept KeyError: print(f'Key {key_to_be_deleted} is not in the dictionary')

tuloste:

Key where is not in the dictionary

päätelmät:

nämä olivat 6 eri tapaa poistaa avain Pythonin kielen sanakirjasta.

Vastaa

Sähköpostiosoitettasi ei julkaista.

Previous post 8 signs of anorexia athletica — an obsession of excessive exercise
Next post the Dangers of Exam Dumps