У меня есть list
из dict
.Необходимо преобразовать его в list
из namedtuple
(предпочтительно) или в простое tuple
, в то время как первая переменная разделяется на пробелы.
Какой еще питонический способ сделать это?1010 * Я немного упростил свой код.Приветствуются понимания, выражения gen и использование itertools.
Данные:
dl = [{'a': '1 2 3',
'd': '*',
'n': 'first'},
{'a': '4 5',
'd': '*', 'n':
'second'},
{'a': '6',
'd': '*',
'n': 'third'},
{'a': '7 8 9 10',
'd': '*',
'n': 'forth'}]
Простой алгоритм:
from collections import namedtuple
some = namedtuple('some', ['a', 'd', 'n'])
items = []
for m in dl:
a, d, n = m.values()
a = a.split()
items.append(some(a, d, n))
Вывод:
[some(a=['1', '2', '3'], d='*', n='first'),
some(a=['4', '5'], d='*', n='second'),
some(a=['6'], d='*', n='third'),
some(a=['7', '8', '9', '10'], d='*', n='forth')]