Sprawdź, czy dany klucz już istnieje w słowniku Pythona

Słownik Pythona nie może zawierać zduplikowanych kluczy, dlatego bardzo ważne jest sprawdzenie, czy klucz już istnieje w słowniku. Jeśli przypadkowo przypiszesz zduplikowaną wartość klucza, nowa wartość zastąpi starą.

Zatem w danym słowniku naszym zadaniem jest sprawdzenie, czy dany klucz już istnieje w słowniku, czy też nie. Jeśli jest obecny, wydrukuj obecność i wartość klucza. W przeciwnym razie wydrukuj Nieobecny.

Przykład

  Input :   {'a': 100, 'b':200, 'c':300}, key = b   Output :   Present, value = 200   Input :   {'x': 25, 'y':18, 'z':45}, key = w   Output :   Not present 

Jak sprawdzić, czy klucz już istnieje w słowniku

Istnieją różne sposoby sprawdzania, czy dany klucz istnieje w pliku Słownik omówiliśmy następujące podejścia:

  • Klucze słownika Pythona()
  • Jeśli i w
  • Słownik Pythona ma_klucz()
  • Słownik Pythona Dostawać() metoda
  • Obsługa wyjątków „KeyError” w Pythonie
  • Liczba list Pythona()

1. Sprawdź, czy klucz istnieje, korzystając z metody kluczy().

Metoda kluczy() zwraca listę wszystkich dostępnych kluczy w słowniku. Dzięki wbudowanej metodzie Klucze(), użyj instrukcji if z operatorem „in”, aby sprawdzić, czy klucz występuje w słowniku, czy nie.

Python3




# Python3 Program to check whether a> # given key already exists in a dictionary.> > def> checkKey(dic, key):> > if> key> in> dic.keys():> > print> (> 'Present, '> , end> => ' '> )> > print> (> 'value ='> , dic[key])> > else> :> > print> (> 'Not present'> )> > # Driver Code> dic> => {> 'a'> :> 100> ,> 'b'> :> 200> ,> 'c'> :> 300> }> key> => 'b'> checkKey(dic, key)> > key> => 'w'> checkKey(dic, key)>

Wyjście:

Present, value = 200 Not present 

Złożoność czasu : NA)
Przestrzeń pomocnicza : O(1)

2. Sprawdź, czy klucz istnieje, używając if i in

W tej metodzie wykorzystuje się jeśli stwierdzenie aby sprawdzić, czy podany klucz istnieje w słowniku.

Python3




def> checkKey(dic, key):> > > if> key> in> dic:> > print> (> 'Present, '> , end> => ' '> )> > print> (> 'value ='> , dic[key])> > else> :> > print> (> 'Not present'> )> > # Driver Code> dic> => {> 'a'> :> 100> ,> 'b'> :> 200> ,> 'c'> :> 300> }> key> => 'b'> checkKey(dic, key)> > key> => 'w'> checkKey(dic, key)>

Wyjście:

Present, value = 200 Not present 

Złożoność czasowa : O(n), gdzie n jest liczbą par klucz-wartość w słowniku.
Przestrzeń pomocnicza : O(n), do przechowywania kluczy i wartości w słowniku.

3. Sprawdź, czy klucz istnieje, używając metody has_key().

Używając ma_klucz() metoda zwraca wartość true, jeśli dany klucz jest dostępny w słowniku, w przeciwnym wypadku zwraca wartość false. W przypadku wbudowanej metody has_key() użyj instrukcji if, aby sprawdzić, czy klucz znajduje się w słowniku.

Notatka - metoda has_keys() została usunięta z wersji Python3. Dlatego można go używać tylko w Pythonie2.

Pyton




def> checkKey(dic, key):> > > if> dic.has_key(key):> > print> (> 'Present, value ='> , dic[key])> > else> :> > print> (> 'Not present'> )> > # Driver Function> dic> => {> 'a'> :> 100> ,> 'b'> :> 200> ,> 'c'> :> 300> }> key> => 'b'> checkKey(dic, key)> > key> => 'w'> checkKey(dic, key)>

Wyjście:

('Present, value =', 200) Not present 

4. Sprawdź, czy klucz istnieje, korzystając z metody get().

Metoda wbudowana Dostawać() zwraca listę dostępnych kluczy w słowniku. W przypadku funkcji kluczy() użyj instrukcji if, aby sprawdzić, czy klucz znajduje się w słowniku. Jeśli klucz jest obecny, wyświetli się komunikat „Obecny”, w przeciwnym razie wyświetli się „Nieobecny”.

Python3




dic> => {> 'a'> :> 100> ,> 'b'> :> 200> ,> 'c'> :> 300> }> > # check if 'b' is none or not.> if> dic.get(> 'b'> )> => => None> :> > print> (> 'Not Present'> )> else> :> > print> (> 'Present'> )>

Wyjście:

Present 

5. Obsługa wyjątku „KeyError” w Pythonie

Używać spróbuj i wyjątek do obsługi wyjątku KeyError w celu ustalenia, czy w diecie występuje klucz. Wyjątek KeyError jest generowany, jeśli klucza, do którego próbujesz uzyskać dostęp, nie ma w słowniku.

Python3




dictExample> => {> 'Aman'> :> 110> ,> 'Rajesh'> :> 440> ,> 'Suraj'> :> 990> }> > # Example 1> print> (> 'Example 1'> )> > try> :> > dictExample[> 'Kamal'> ]> > print> (> 'The key exists in the dictionary'> )> except> KeyError as error:> > print> (> 'The key doesn't exist in the dictionary'> )> > # Example 2> print> (> 'Example 2'> )> > try> :> > dictExample[> 'Suraj'> ]> > print> (> 'The key exists in the dictionary'> )> except> KeyError as error:> > print> (> 'The given key doesn't exist in the dictionary'> )>

Wyjście:

Example 1 The key doesn't exist in the dictionary Example 2 The key exists in the dictionary 

6. Sprawdź, czy klucz istnieje, używając metoda count().

liczyć() Metodę można zastosować do sprawdzenia, czy klucz istnieje w słowniku, jeśli liczba kluczy wynosi 1, to klucz jest obecny, w innym przypadku go nie ma.

Python3




# Python3 Program to check whether a> # given key already exists in a dictionary.> > # Driver Code> dic> => {> 'a'> :> 100> ,> 'b'> :> 200> ,> 'c'> :> 300> }> key> => 'b'> x> => list> (dic.keys())> res> => 'Not Present'> if> (x.count(key)> => => 1> ):> > res> => 'Present'> print> (res)>

Wyjście:

Present 

W tym artykule omówiliśmy 6 metod, za pomocą których można sprawdzić, czy dany klucz istnieje w słowniku. Możesz użyć dowolnej z powyższych metod, aby sprawdzić, czy klucz jest obecny. Sprawdzanie kluczy jest bardzo ważne, ponieważ słownik nie może zawierać duplikatów kluczy.

Podobne lektury: