Я пытаюсь совместить понимание словаря и встроенный оператор if
. Понимание проходит по всем элементам, и пока элемент не имеет ключа id
, он создает новый ключ: job[old_key]
.Как сделать понимание словаря inline if?
Код
job = {'id':1234, 'age':17, 'name':'dev'}
args = {'job[%s]' % k:v if k != 'id' else k:v for k, v in job}
Хотела выход
print args
{'id':1234, 'job[age]':17, 'job[name]':'dev'}
SyntaxError
был поднят.
args = {'job[%s]' % k:v if k != 'key' else k:v for k, v in job}
^
SyntaxError: invalid syntax
Однако, когда я пытаюсь запустить мой сценарий Python жалуется k:v
. Как я могу объединить понимание словаря и оператор inline if?
Примечание: Я знаю, что я могу легко достичь этой задачи с for
цикла, но я просто хочу объединить эти два элемента.