Pythonic Weg, um zu konvertieren Liste von dicts in die Liste der namedtuples

Ich habe eine list von dict. Müssen konvertieren list von namedtuple(bevorzugt) oder einfach tuple beim aufteilen ersten Variablen durch ein Leerzeichen.

Was ist mehr pythonic Weg, es zu tun?

Ich vereinfacht meinen code ein wenig. Verstehens, gen Ausdrücken und itertools Nutzung begrüßt.

Daten:

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'}]

Einfachen Algorithmus:

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))

Ausgabe:

[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')]
InformationsquelleAutor scraplesh | 2011-10-20
Schreibe einen Kommentar