Вот что у меня есть:
ports = [ 1111, 2222, 3333 ]
keys = ['port', 'target_port', 'name']
ports = [dict.fromkeys(keys, port) for port in ports]
это приводит к:
[
{
"port": 1111,
"target_port": 1111,
"name": 1111
}
xxx
]
проблема в том, что значение "name" должно быть строкой.Как я могу добавить условие для понимания списка?
РЕДАКТИРОВАТЬ: все остальные значения должны оставаться целыми числами
РЕДАКТИРОВАТЬ: мой обходной путь на данный момент:
for port_dict in ports:
port_dict['name'] = str(port_dict['port'])
Завершено с использованием обратной стороны принятого ответа, поэтому я могу потенциально добавить ключив конец списка:
keys = ['name', 'port', 'target_port']
ports = [{**dict.fromkeys(keys[1:], port), "name": str(port)}
for port in ports]