Не создавать элементы при использовании if / else в словаре Python - PullRequest
0 голосов
/ 30 июля 2011

Привет,

Я использую условия if / else для создания элементов в словаре, таких как

x = {
  'id' : id,
  'image' : res['image'] if 'image' in res.keys() else '',
}

Есть ли способ не создавать ключ изображения во втором случае? Я не могу удалить предложение else, но хотел бы сохранить этот способ создания словаря, а не делать

if 'image' in res.keys():
  x['image'] = image

Спасибо

Ответы [ 2 ]

1 голос
/ 30 июля 2011

Python не предоставляет синтаксический сахар для выполнения того, что вы хотите, но вы можете слегка изменить оператор if, чтобы он поместился в одну строку

if 'image' in res.keys(): x['image'] = image
0 голосов
/ 30 июля 2011

Если вы объявляете ключ для dictioanry, вы должны установить значение для этого, поэтому, если вы определяете 'image' , вы должны установить значение для него ...

Некоторые другие опции:

if 'image' in res.keys():
    x.update({'image':image})

но вы не можете использовать что-либо для определения пары ключ-значение или нет при определении словаря ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...