I Python er en ordbok et uordnet sett med dataverdier som kan brukes til å administrere og lagre verdier som et kart. I motsetning til andre datatyper, som bare kan ha en spesifikk verdi som et element, kan Dictionary inneholde et nøkkelverdi-par. Ordboken inkluderer et nøkkelverdi-par for å gjøre den mer effektiv. Polymorfisme er ikke tillatt i ordboknøkler. En ordbok er bygget i Python ved å omslutte en rekke oppføringer i krøllete klammeparenteser og skille dem med et komma. Ordboken lagrer par verdier, hvorav den ene er nøkkelen og den andre er nøkkel:verdi-parelementet.
I en ordbok kan verdier ha en hvilken som helst datastruktur og kan til og med replikeres, men nøkler kan ikke kopieres som må være uforanderlige.
Sjekke en nøkkel i ordboken
I Python er en ordbok virkelig en nyttig datastruktur som lagrer nøkkelverdi-par. Å hente verdien av en bestemt nøkkel fra en ordbok er ofte nødvendig i programmering; eksistensen av en bestemt nøkkel i ordboken er imidlertid ikke alltid garantert. Som et resultat er det en god idé å dobbeltsjekke om en nøkkel tilhører ordboken før du henter verdien.
Bruke has_key()
Hvis en gitt nøkkel finnes i ordboken, vil har_nøkkel() metoden returnerer true; ellers returnerer den falsk.
Python 3 har gjort dette avviklet. Denne metoden kan brukes hvis vi kjører på en eldre versjon enn Python 3.
Sridevi
Kommandoen nedenfor kan brukes til å bekrefte Python-versjonen i cmd.
Kode:
import sys print(sys.version) Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key_to_check_for = '2' if Animals.has_key(key_to_check_for): print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals')
Produksjon:
--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) Input In [37], in () 1 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} 2 key_to_check_for = '2' ----> 3 if Animals.has_key(key_to_check_for): 4 print('Key exists in Animals') 5 else: AttributeError: 'dict' object has no attribute 'has_key'
Siden denne koden ble utført på Python 3, viser den en feil.
hvis-i-erklæring
Denne metoden sjekker om en bestemt nøkkel finnes i ordboken ved å bruke if-in-setningen. Vi ansetter medlemsoperatøren i , på denne måten. Denne operatoren brukes til å bestemme om en verdi tilhører en annen. Det gir deg et boolsk resultat.
Kode:
Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} Key = '2' if '2' in Animals: print('Key exists in Animals') else: print(f'There is no key {key} in Animals')
Produksjon:
Key exists in Animals
Ser nå på den negative saken.
Kode:
Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} if '4' in Animals: print('Key exists in Animals') else: print(f'There is no key {key} in Animals')
Produksjon:
There is no key '4' in Animals
På samme måte ikke i operatør kan brukes til å se om en nøkkel i en ordbok ikke eksisterer. Vær imidlertid oppmerksom på at i operasjonen skiller mellom store og små bokstaver, så sørg enten for at alle tastene har samme store og små bokstaver eller bruk høyere() eller Nedre() metoder.
Kode:
Animals = {'one': 'Cat', 'two':'Rat', 'three':'Bat'} setting_case = set(key.upper() for key in Animals) key_to_check_for = 'two' if key_to_check_for.upper() in setting_case: print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals')
Produksjon:
Key exists in Animals
Bruke get()-metoden
Get()-metoden leverer verdien av den relaterte nøkkelen i en ordbok. Hvis nøkkelen ikke er der, returnerer den enten Ingen eller en standardverdi (hvis en ble levert). Vi kan sende en nøkkel til denne metoden og se om den finnes i den gitte Python-ordboken.
Syntaksen til get()-funksjonen er:
dict_name.get(keyname, value)
Her er diktnavn tittelen på ordboken du skal bruke.
Parametere
Kode:
Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key_to_check_for = '2' if Animals.get(key_to_check_for) is not None: print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals')
Produksjon:
Key exists in Animals
Tar nå en negativ sak,
Kode:
Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key_to_check_for = '5' if Animals.get(key_to_check_for) is not None: print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals')
Produksjon:
There is no key '5' in Animals
Når du bruker denne metoden, vær så snill å huske på at hvis vi har en nøkkel med den verdien Ingen, vil den ikke være nøyaktig. Hvis vi ikke har en, vil denne teknikken være tilstrekkelig. Hvis vi ønsker å bruke verdiene som returneres av denne metoden, kan vi lagre dem i en variabel.
Bruke nøkler()
De nøkler() funksjonen og 'in'-operatoren kan brukes til å se om det finnes en nøkkel i en ordbok. De nøkler() metoden returnerer en liste over nøkler i ordboken, og 'if, in'-setningen sjekker om den oppgitte nøkkelen er i listen. Den returnerer True hvis nøkkelen eksisterer; ellers returnerer den False.
java-verdien av enum
Inndata
Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key='2' if key in Animals.keys(): print('Key exists in Animals') else: print(f'There is no key {key} in Animals')
Produksjon:
Key exists in Animals
Sjekk om ordboken har flere taster.
I ett utsagn kan vi også sjekke om ordboken inneholder flere nøkler. Vi kan bruke alle() funksjon i kombinasjon med listeforståelsen for å se om ordboken inneholder mange eller alle taster.
Kode:
Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key='2' if all(key in Animals for key in ('1','5')): print('All keys exists in Animals') else: print('Not all the keys are there in Animals')
Produksjon:
np.hvor
Not all the keys are there in Animals
Undersøk listen over ordbøker for å se om nøkkelen eksisterer
En liste over ordbøker er en samling ordbøker som finnes i en liste.
- list_of_dictionary - en liste med tre ordbokobjekter i den.
- 'b' i nøkler for nøklene i listen over ordbok - produserer listen over nøkler i listen over ordbøker ved å bruke listeforståelse. Deretter, på listen, se om en er tilgjengelig. Den vil returnere en liste med True for nøkler som er 'b' og False for nøkler som ikke er én.
- any() - Verifiserer sann/falsk-listen gitt av listeforståelse. Nøkkelen 'b' er tilstede i ordboklisten hvis den inneholder minst én Sann. 'Hvis'-blokken blir deretter utført etter at den returnerer True. Ellers utføres 'else'-blokken.
Kode:
list_of_dictionaries = [{'a': 'A'}, {'b': 'B'}, {'c': 'C'}] if any('b' in keys for keys in list_of_dictionary): print('key exists in list_of_dictionaries') else: print('key does not exists in list_of_dictionaries')
Produksjon:
Key exists in list_of_dictionaries
Sjekk om nøkkelen er i JSON Dictionary
JSON står for 'Javascript Object Notation', og det er et nøkkelverdi-par som lagrer verdier.
De json.loads() metode kan brukes til å konstruere en ordbok fra en JSON-tekst.
Deretter, som vist nedenfor, kan vi bruke 'hvis og inn' for å se om nøkkelen finnes i JSON-ordboken.
Inndata
import json json_str = '''{'a': 'A', 'b': 'B', 'c': 'C'}''' json_dictionary = json.loads(json_str) if 'c' in json_dictionary: print('Key is present in the JSON dictionary') else: print('Key is not present in JSON dictionary')
Produksjon:
Key is present in the JASON dictionary
Konklusjon
For å oppsummere, har vi lært hvordan du sjekker om nøkkelen er i ordboken på flere måter. Vi har også lært hvordan vi kan bruke disse metodene på ulike instanser for å se om nøkkelen er i ordboken. Vi har også sett hvordan hvert alternativ tar ulik tid.