Пифонический способ преобразовать список dict в список именованных кортежей

У меня есть список из dict . Необходимо преобразовать его в список из namedtuple (предпочтительно) или простой кортеж , разделив первую переменную по пробелу.

Какой более питонический способ сделать это?

Я немного упростил свой код. Понимания, выражения 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')]
7
задан scraplesh 20 October 2011 в 07:25
поделиться