Из строки в список словарей

Вопрос крайне извращенный. Как из строки вроде: 'left1-right1,left2-right2,left3-right3,...' сделать список словарей:

[{
    'key1': 'left1',
    'key2': 'right1'
 },
 {
    'key1': 'left2',
    'key2': 'right2'
 },
 {
    'key1': 'left3',
    'key2':'right3'
 },
 ...]

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

Автор решения: entithat

Выглядит запутано, но... Сначала делим по запятой, потом по дефису и в итоге записывает в словарь сразу.

s = 'left1-right1,left2-right2,left3-right3'
print([dict([(f'key{ind + 1}', e) for ind , e in enumerate(i.split('-'))]) for i in s.split(',')])

Вывод:

[{'key1': 'left1', 'key2': 'right1'}, {'key1': 'left2', 'key2': 'right2'}, {'key1': 'left3', 'key2': 'right3'}]
→ Ссылка