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
xd xd znaczenie
# 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
np. klip
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)> |
>
liczba sql jest odrębna
>
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.
ciąg zastępuje Java
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:
- Pythona | Pobierz klucz z wartości w słowniku
- Sprawdź, czy w słowniku istnieje wiele kluczy
- Uzyskaj klucze słownika w postaci listy
- Sprawdź, czy klucz istnieje w słowniku kluczy krotek