Автор оригинала: Shubham Sayon.
Резюме: Чтобы обновить ключ в словаре, если оно не существует, вы можете проверить, присутствует ли он в словаре, используя в Ключевое слово наряду с утверждением, а затем обновите пару ключ-значение, используя обязательную запись или Обновление () Метод или * оператор. Еще один обходной путь для этого, используя S etdefault ( ключ [, по умолчанию ])) Метод, который обновляет словарь с парой ключа, только если он не существует в словаре в противном случае, он возвращает ранее существующие элементы.
Проблема: Учитывая словарь; Как обновить ключ в этом, если ключ не существует?
Пример:
device = { "brand": "Apple", "model": "iPhone 11", } < Some Method to Check if key-value pairs "color" : "red" and "year" : 2019 exists or not and then update/insert it in the dictionary > print(device)
Выход:
{'brand': 'Apple', 'model': 'iPhone 11', 'color': 'red', 'year': 2019}
Чтобы решить нашу заявление о проблеме, давайте следуем модульному подходу и разбиваем нашу дискуссию в этой статье на три части.
- В первом разделе давайте обсудим методы обновления или вставки ключа,
- Во втором разделе мы будем обсуждать методы проверки, если ключ присутствует в словаре,
- Наконец, мы объединим наши концепции, чтобы достичь окончательного решения.
Без дальнейшей задержки давайте погрузимся в решения сразу.
Раздел 1: Вставить/обновить ключ в словаре
Способ 1: Создать новую пару ключ-значение. Назначить его словаре | Обозначения подписки
Мы можем создать новый индексную клавишу, а затем назначить его значение, а затем назначить пару клавише в словаре. Давайте посмотрим на следующую программу, которая объясняет синтаксис, чтобы создать новую пару ключ-значение и назначить ее в словаре:
device = { "brand": "Apple", "model": "iPhone 11", } device["year"] = 2019 print(device)
Выход:
{«Бренд»: «Apple», «год»: 2019, «Модель»: «iPhone 11 ‘}
Способ 2: Используйте функцию Update ()
Обновление ()
Метод используется для вставки или обновления определенной пары клавиш в словаре. Пункт, который будет вставлен, также может быть еще одним повтором. Кроме того, если указанный ключ уже присутствует в словаре, то предыдущее значение будет перезаписано.
Следующий код демонстрирует использование Обновление ()
Метод:
device = { "brand": "Apple", "model": "iPhone 11", } device.update({"year" : 2019}) print(device)
Выход:
{'brand': 'Apple', 'model': 'iPhone 11', 'year': 2019}
Способ 3: Использование * оператора
Мы можем объединить существующий словарь и пару клавишной варианты, используя оператор *. Давайте посмотрим на следующий код, чтобы понять концепцию и использование * оператора * для вставки элементов в словаре.
device = { "brand": "Apple", "model": "iPhone 11", } device = {**device,**{"year":2019}} print(device)
Выход:
{'brand': 'Apple', 'model': 'iPhone 11', 'year': 2019}
Отказ от ответственности: В приведенных выше способах, если мы не проверяем наличие ключа в словаре, то значение будет перезаписано в словаре, если ключ и значение уже существуют в словаре. Теперь, что приводит нас к второму разделу нашего обсуждения!
Раздел 2: Проверьте, присутствует ли ключ в словаре
Способ 1: Использование в ключевое слово
в
Ключевое слово используется для проверки, если ключ уже присутствует в словаре. Следующая программа объясняет, как мы можем использовать в
ключевое слово.
device = { "brand": "Apple", "model": "iPhone 11", "year":2018 } if "year" in device: print("key year is present!") else: print("key year is not Present!") if "color" in device: print("key color is present!") else: print("key color is not present!")
Выход:
key year is present! key color is not present!
Примечание: Так же, как в
Ключевое слово, мы можем использовать не в Ключевое слово для проверки, если ключ отсутствует в словаре.
Метод 2: Использование функции клавиш ()
Клавиши ()
Является встроенным методом, который извлекает ключи, присутствующие в словаре и хранят их в списке. Таким образом, с помощью этого встроенного метода мы можем определить, присутствует ли ключ в словаре.
Давайте посмотрим следующую программу, чтобы понять, как использовать Клавиши ()
Способ и проверьте доступность ключа в словаре:
device = { "brand": "Apple", "model": "iPhone 11", "year":2018 } if "year" in device.keys(): print("key year is present!") else: print("key year is not Present!") if "color" in device.keys(): print("key color is present!") else: print("key color is not present!")
Выход:
key year is present! key color is not present!
Метод 3: Использование функции HAS_KEY ()
Если вы используете Python 2.x, то, вы можете воспользоваться своими шансами с методом HAS_KEY (), который является встроенным методом в Python, который возвращает true, если указанный ключ присутствует в словаре, он возвращает false.
Осторожно: HAS_KEY. ()
был удален из Python 3, а также отстает от в
Ключевое слово при проверке наличия ключей в словаре с точки зрения производительности. Таким образом, вы должны использовать избегать использования его, если вы используете Python 3 или выше Отказ
Теперь давайте посмотрим на следующую программу, чтобы понять, как мы можем использовать has_key ()
Метод:
device = { "brand": "Apple", "model": "iPhone 11", "year":2018 } if device.has_key("year"): print("key year is present!") else: print("key year is not Present!") if device.has_key("color"): print("key color is present!") else: print("key color is not present!")
Выход:
key year is present! key color is not present!
Феве !!! Теперь мы, наконец, оснащены всеми процедурами, чтобы проверить, а также обновить ключ в словаре, если он не существует в словаре. Это приводит нас к заключительным этапам нашей дискуссии, где мы объединим наши знания из раздела 1 и раздела 2 для достижения желаемого выхода.
Обновите ключ В словаре Если это не существует
Решение 1: Использование концепций, обсуждаемых в разделе 1 и раздел 2
Поскольку мы проходим с концепциями, давайте погрузимся в программу для их реализации и получить окончательный результат:
device = { "brand": "Apple", "model": "iPhone 11", } # Method 1 : Create a New Key_Value pair and check using the in keyword if "color" not in device: device["color"] = "red" # Method 2 : Use update() method and check using the not in keyword if "year" not in device.keys(): device.update({"year" : 2019}) # Method 2 : Use * operator and check using the not in keyword if "brand" not in device.keys(): device.update({"brand" : "Samsung" }) else: print(device)
Выход:
{'brand': 'Apple', 'model': 'iPhone 11', 'color': 'red', 'year': 2019}
Решение 2: Использование метода SetDefault ()
установить по умолчанию ()
Является встроенным методом Python, который возвращает значение ключа, если он уже существует в словаре, и если оно не существует, то пара значения ключа вставляется в словарь.
Давайте посмотрим на следующую программу, которая объясняет setdefault ()
Способ в Python:
device = { "brand": "Apple", "model": "iPhone 11", "color": "red" } device.setdefault('year',2019) print(device)
Выход:
{'brand': 'Apple', 'model': 'iPhone 11', 'color': 'red', 'year': 2019}
Заключение
Я надеюсь, что после прочтения этой статьи вы можете легко проверить и обновлять значения в словаре. Если у вас есть какие-либо сомнения относительно словарей Python, я настоятельно рекомендую вам пройти через наш учебник на словарях Python.
Пожалуйста, подпишитесь и оставайтесь настроенными для более интересных статей!
Куда пойти отсюда?
Достаточно теории, давайте познакомимся!
Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?
Практические проекты – это то, как вы обостряете вашу пилу в кодировке!
Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?
Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.
Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.
Присоединяйтесь к свободному вебинару сейчас!
Я профессиональный Python Blogger и Content Creator. Я опубликовал многочисленные статьи и создал курсы в течение определенного периода времени. В настоящее время я работаю полный рабочий день, и у меня есть опыт в областях, таких как Python, AWS, DevOps и Networking.
Вы можете связаться со мной @:
Оригинал: “https://blog.finxter.com/how-to-update-a-key-in-a-dictionary-in-python-if-the-key-doesnt-exist/”