Проблема : Учитывая словарь и ключ. Можете ли вы использовать Тернарный оператор Чтобы вернуть ключ из словаря, но только если он существует, чтобы избежать ошибки ключей? Если ключ не существует, должна быть выполнена функция «падение».
Пример : Скажем, вы хотите сделать что-то вроде следующего ( псевдокод ):
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 и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.