Как я могу написать заявление более разумно и короче? Питон

Я проверяю count. Если в ключе B нет count, то показать 777, иначе показать настоящий count. В данном случае count нет, поэтому я должен показать 777.

Есть ли способ написать это утверждение if else более разумно и короче?

И не говоря уже о if len(list) ==0: Я не хочу этого.

Код:

results = [{'A': [{'_id': {}, 'count': 256}], 'B': []}]

if not results[0]['B']:
    updated_events = 777
else:
    updated_events = results[0]['B'][0]['count']
    
print(updated_events)

Не упоминать if len(list) ==0: значит не упоминать этот чек if not results[0]['B'] ?

RomanPerekhrest 17.02.2023 14:33
Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit
Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit
Веб-скрейпинг, как мы все знаем, это дисциплина, которая развивается с течением времени. Появляются все более сложные средства борьбы с ботами, а...
Библиотека для работы с мороженым
Библиотека для работы с мороженым
Лично я попрощался с операторами print() в python. Без шуток.
Эмиссия счетов-фактур с помощью Telegram - Python RPA (BotCity)
Эмиссия счетов-фактур с помощью Telegram - Python RPA (BotCity)
Привет, люди RPA, это снова я и я несу подарки! В очередном моем приключении о том, как создавать ботов для облегчения рутины. Вот, думаю, стоит...
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Шаг 1: Создание приложения Slack Чтобы создать Slackbot, вам необходимо создать приложение Slack. Войдите в свою учетную запись Slack и перейдите на...
Учебник по веб-скрапингу
Учебник по веб-скрапингу
Привет, ребята... В этот раз мы поговорим о веб-скрейпинге. Целью этого обсуждения будет узнать и понять, что такое веб-скрейпинг, а также узнать, как...
Тонкая настройка GPT-3 с помощью Anaconda
Тонкая настройка GPT-3 с помощью Anaconda
Зарегистрируйте аккаунт Open ai, а затем получите ключ API ниже.
1
1
59
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Может быть

results = [{'A': [{'_id': {}, 'count': 256}], 'B': []}]

updated_events = results[0]['B'][0].get('count') if results[0]['B'] else 777
            
print(updated_events)
try:
    updated_events = results[0]['B'][0]['count']
except LookupError:
    updated_events = 777

LookupError является родительским классом как для KeyError, так и для IndexError.

Ответ принят как подходящий

Создайте словарь из 'B' содержимого и вызовите dict.get метод со значением по умолчанию 777:

updated_events = dict(*results[0]['B']).get('count', 777)

Другие вопросы по теме