logo

Kako provjeriti postoji li ključ u Python rječniku

U Pythonu, rječnik je neuređeni skup vrijednosti podataka koji se može koristiti za upravljanje i pohranjivanje vrijednosti poput karte. Za razliku od drugih vrsta podataka, koje mogu nositi samo određenu vrijednost kao stavka, Rječnik može sadržavati par ključ-vrijednost. Rječnik uključuje par ključ-vrijednost kako bi bio učinkovitiji. Polimorfizam nije dopušten u ključevima rječnika. Rječnik je izgrađen u Pythonu zatvaranjem niza unosa u vitičaste zagrade i njihovim odvajanjem zarezom. Rječnik pohranjuje parove vrijednosti, od kojih je jedna ključ, a druga element para ključ:vrijednost.

U rječniku, vrijednosti mogu biti bilo koje strukture podataka i mogu se čak replicirati, ali ključevi se ne mogu kopirati jer moraju biti nepromjenjivi.

Provjera ključa u rječniku

U Pythonu, rječnik je doista korisna struktura podataka koja pohranjuje parove ključ-vrijednost. Dohvaćanje vrijednosti određenog ključa iz rječnika često je potrebno u programiranju; međutim, postojanje određenog ključa u rječniku nije uvijek zajamčeno. Kao rezultat toga, dobra je ideja još jednom provjeriti pripada li ključ rječniku prije dohvaćanja njegove vrijednosti.

Upotreba has_key()

Ako se određeni ključ pronađe u rječniku, ima_ključ() metoda vraća true; inače vraća false.

Python 3 je ovo zastario. Ova se metoda može koristiti ako radimo na starijoj verziji od Pythona 3.

Naredba u nastavku može se koristiti za potvrdu verzije Pythona u cmd-u.

Kodirati:

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

Izlaz:

abeceda u brojevima
 --------------------------------------------------------------------------- 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' 

Budući da je ovaj kod izvršen na Pythonu 3, prikazuje pogrešku.

Izjava if-in

Ova metoda provjerava postoji li određeni ključ unutar rječnika pomoću naredbe if-in. Zapošljavamo operatera članstva u , Na ovaj način. Ovaj se operator koristi za određivanje pripada li jedna vrijednost drugoj. Daje vam Boolean rezultat.

Kodirati:

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

Izlaz:

 Key exists in Animals 

Sada, gledajući negativan slučaj.

Kodirati:

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

Izlaz:

 There is no key '4' in Animals 

Isto tako, ne u operator se može koristiti da se vidi postoji li ključ u rječniku. Međutim, imajte na umu da u operacija je osjetljiva na velika i mala slova, pa provjerite jesu li sve tipke iste veličine ili koristite viši() ili niži() metode.

Kodirati:

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

Izlaz:

 Key exists in Animals 

Korištenje metode get().

Metoda get() isporučuje vrijednost povezanog ključa u rječniku. Ako ključa nema, vraća se Ništa ili zadana vrijednost (ako je navedena). Možemo proslijediti ključ ovoj metodi i vidjeti postoji li u danom Python rječniku.

Sintaksa funkcije get() je:

 dict_name.get(keyname, value) 

Ovdje je dict name naziv rječnika koji ćete koristiti.

Parametri

    Keyname-Naziv ključa vrijednosti koji želite vratiti.vrijednost-Ako ključ ne postoji, ova se vrijednost isporučuje kao opcija.

Kodirati:

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

Izlaz:

 Key exists in Animals 

Sada uzimajući negativan slučaj,

Kodirati:

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

Izlaz:

 There is no key '5' in Animals 

Kada koristite ovu metodu, imajte na umu da ako imamo ključ s tom vrijednošću None, on neće biti točan. Ako ga nemamo, ova tehnika će biti dovoljna. Ako želimo koristiti vrijednosti vraćene ovom metodom, možemo ih spremiti u varijablu.

Korištenje tipki ()

The ključevi () funkcija i operator 'in' mogu se koristiti da se vidi postoji li ključ u rječniku. The ključevi () metoda vraća popis ključeva u rječniku, a naredba 'if, in' provjerava je li navedeni ključ na popisu. Vraća True ako ključ postoji; u suprotnom, vraća False.

Ulazni

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

Izlaz:

 Key exists in Animals 

Provjerite ima li Rječnik više ključeva.

U jednoj izjavi također možemo provjeriti sadrži li rječnik više ključeva. Možemo koristiti svi() funkcija u kombinaciji s razumijevanjem popisa kako biste vidjeli sadrži li rječnik mnogo ili sve ključeve.

Kodirati:

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

Izlaz:

 Not all the keys are there in Animals 

Pregledajte popis rječnika da vidite postoji li ključ

Popis rječnika zbirka je rječnika koji se mogu pronaći na popisu.

  • popis_rječnika - popis s tri rječnička objekta u njemu.
  • 'b' u ključevima za ključeve na popisu rječnika - stvaranje popisa ključeva unutar popisa rječnika korištenjem razumijevanja popisa. Zatim na popisu pogledajte je li dostupan. Vratit će popis s True za ključeve koji su 'b' i False za ključeve koji nisu jedan.
  • any() - Provjerava True/False popis koji je dao razumijevanje popisa. Ključ 'b' prisutan je na popisu rječnika ako uključuje barem jedan True. Blok 'if' se zatim izvršava nakon što vrati True. Inače se izvršava 'else' blok.

Kodirati:

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

Izlaz:

 Key exists in list_of_dictionaries 

Provjerite nalazi li se ključ u JSON rječniku

JSON je kratica za 'Javascript Object Notation', a to je par ključ-vrijednost koji sprema vrijednosti.

The json.loads() metoda se može koristiti za izradu rječnika iz JSON teksta.

dvodimenzionalni niz programa u c

Zatim, kao što se vidi u nastavku, možemo koristiti 'if i in' da vidimo je li ključ prisutan u JSON rječniku.

Ulazni

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

Izlaz:

 Key is present in the JASON dictionary 

Zaključak

Da rezimiramo, naučili smo kako provjeriti je li ključ u rječniku na nekoliko načina. Također smo naučili kako primijeniti te metode na različite instance kako bismo vidjeli je li ključ u rječniku. Također smo vidjeli kako je za svaku opciju potrebno različito vrijeme.