Проблема : Учитывая словарь и ключ. Можете ли вы использовать Тернарный оператор Чтобы вернуть ключ из словаря, но только если он существует, чтобы избежать ошибки ключей? Если ключ не существует, должна быть выполнена функция «падение».
Пример : Скажем, вы хотите сделать что-то вроде следующего ( псевдокод ):
var = dict["key"] if dict.has_key("key") else "fallback"Торговый оператор короткий резор
Тернарный оператор : Самый простой тройной оператор х если с остальными y состоит из трех операндов х , C и y Отказ Это выражение с возвращаемой стоимостью. Темнарный оператор возвращает х Если логическое выражение C оценивает Правда Отказ В противном случае, если выражение C оценивает Ложь Торговый оператор возвращает альтернативу y Отказ
Синтаксис : Три операнда написаны как х если с остальными y который читает как «возвращение X Если C еще вернуть y ». Давайте написать это более интуитивно, как:
if else
| Возврат экспрессии оператора в случае, если условие оценивается к истинному | |
| Условие, которое определяет, нужно ли возвращать или ветку. | |
| Возврат экспрессии оператора в случае, если условие оценивает ложь |
Связанная статья : Для полного учебника на Тернарном операторе Проверьте наш подробный список в блоге Отказ
Метод 1: Темнарный оператор с членством
Решение : Вы можете использовать The Terary Operator Dict [Key] Если ключ в Dict Else «Follack» Для достижения этого:
d = {'Alice': 17, 'Bob': 22}
key = 'Alice'
# Has key:
var = d[key] if key in d else -1
print(var)
# 17
# Doesn't have key:
key = 'Ann'
var = d[key] if key in d else -1
print(var)
# -1Торговый оператор возвращает значение, связанное с данным ключом, но только если ключ существует. Если оно не существует, он возвращает значение по умолчанию -1.
Метод 2: Dict.get (ключ, по умолчанию)
Тем не менее, более питоновый способ достичь того же в более читаемом и более лаконичке – использовать Словарь. Получить (ключ, по умолчанию) Функция:
d = {'Alice': 17, 'Bob': 22}
key = 'Alice'
# Has key:
var = d.get(key, -1)
print(var)
# 17
# Doesn't have key:
key = 'Ann'
var = d.get(key, -1)
print(var)
# -1Внешняя структура кода – это то же самое – но функция Get с значением по умолчанию -1 семантически заменяет более сложный тройной оператор.
Попробуй сам:
Упражнение : Создать более сложную функцию по умолчанию, которая возвращает ключ в обратном порядке и передать его в получать() Функция!
Куда пойти отсюда?
Достаточно теории, давайте познакомимся!
Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?
Практические проекты – это то, как вы обостряете вашу пилу в кодировке!
Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?
Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.
Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.
Присоединяйтесь к свободному вебинару сейчас!
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.