Перевірте, чи заданий ключ уже існує в словнику Python
Словник Python не може містити повторюваних ключів, тому дуже важливо перевірити, чи ключ уже присутній у словнику. Якщо ви випадково призначите повторюване значення ключа, нове значення перезапише старе.
Отже, у даному словнику наше завдання — перевірити, чи даний ключ уже існує в словнику чи ні. Якщо є, вивести поточний і значення ключа. В іншому випадку надрукуйте Немає.
приклад
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 Як перевірити, чи вже існує ключ у словнику
Можуть бути різні способи перевірити, чи існує даний ключ у a Словник , ми розглянули такі підходи:
- Ключі словника Python ()
- Якщо і в
- Словник Python has_key()
- Словник Python отримати() метод
- Обробка винятків Python «KeyError».
- Python List count()
1. Перевірте, чи існує ключ, використовуючи метод keys().
Метод keys() повертає список усіх доступних ключів у словнику. За допомогою вбудованого методу ключі(), використовуйте оператор if з оператором «in», щоб перевірити, чи присутній ключ у словнику чи ні.
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)> |
Вихід:
Present, value = 200 Not present
Часова складність : O(n)
Допоміжний простір : O(1)
2. Перевірте, чи існує ключ за допомогою if і in
Цей метод використовує оператор if щоб перевірити, чи існує даний ключ у словнику.
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)> |
Вихід:
Present, value = 200 Not present
Часова складність : O(n), де n – кількість пар ключ-значення в словнику.
Допоміжне приміщення : O(n), для збереження ключів і значень у словнику.
3. Перевірте, чи існує ключ, використовуючи метод has_key().
Використовуючи has_key() метод повертає істину, якщо заданий ключ доступний у словнику, інакше повертає хибність. За допомогою вбудованого методу has_key() використовуйте оператор if, щоб перевірити, чи присутній ключ у словнику.
Примітка - Метод has_keys() видалено з версії Python3. Тому його можна використовувати лише в Python2.
Python
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)> |
Вихід:
('Present, value =', 200) Not present 4. Перевірте, чи існує ключ, використовуючи метод get().
Вбудований метод отримати() повертає список доступних ключів у словнику. За допомогою keys() використовуйте оператор if, щоб перевірити, чи присутній ключ у словнику. Якщо ключ присутній, він надрукує Present, інакше він надрукує Not Present.
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'> )> |
Вихід:
Present
5. Обробка виняткової ситуації «KeyError» у Python
використання спробувати і крім для обробки винятку KeyError, щоб визначити, чи присутній ключ у дієті. Виняток KeyError генерується, якщо ключ, до якого ви намагаєтесь отримати доступ, відсутній у словнику.
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'> )> |
Вихід:
Example 1 The key doesn't exist in the dictionary Example 2 The key exists in the dictionary
6. Перевірте, чи існує ключ за допомогою Метод count().
рахувати() метод можна використовувати для перевірки наявності ключа в словнику, якщо кількість ключа дорівнює 1, тоді ключ присутній, інакше його немає.
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)> |
Вихід:
Present
У цій статті ми обговорили близько 6 методів, які можна використовувати, щоб перевірити, чи існує певний ключ у словнику. Ви можете скористатися будь-яким із наведених вище методів, щоб перевірити наявність ключа. Перевірка ключів дуже важлива, оскільки словник не може містити повторюваних ключів.
Схожі читання:
- Python | Отримати ключ зі значення в Словнику
- Перевірте, чи існує декілька ключів у словнику
- Отримайте ключі словника у вигляді списку
- Перевірте, чи існує ключ у словнику кортежних ключів