Создать словарь с помощью enumerate

Можно ли создать список словарей с помощью enumerate такого вида:

[{"id": 0, "animal": 'snail'}, {"id": 1, "animal": 'fish'}, {"id": 2, "animal": 'cow'}

Знаю, что можно сделать так:

animals = ['snail', 'fish', 'cow']
a = {animal: it for it, animal in enumerate(animals)}
b = {v: k for k, v in a.items()}

Но с помощью такого кода получается словарь:

{0: 'snail', 1: 'fish', 2: 'cow'}

Ответы (1 шт):

Автор решения: Alpensin
animals = ['snail', 'fish', 'cow']
result = [{"id": n, "animal": animal} for n, animal in enumerate(animals)]
# [{'id': 0, 'animal': 'snail'}, {'id': 1, 'animal': 'fish'}, {'id': 2, 'animal': 'cow'}]
→ Ссылка