Mam słownika takiego:Pythonic Way to Convert Dictionary to namedtuple lub Another Hashable dict-like?
d = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
które chciałbym przekonwertować na namedtuple. My Obecnie stosowane podejście z następującego kodu
namedTupleConstructor = namedtuple('myNamedTuple', ' '.join(sorted(d.keys())))
nt= namedTupleConstructor(**d)
który wytwarza
myNamedTuple (a = 1, b = 2 i C = 3, d = 4)
działa w porządku dla mnie (chyba), ale jestem brakuje wbudowany w taki ...
nt = namedtuple.from_dict() ?
UPDATE: jak di przeklęty w komentarzach, mój powód, dla którego chciałbym przekonwertować mój słownik na nazwanątakę, jest taki, że staje się nieosiągalna, ale wciąż ogólnie użyteczna jak dyktafon.
Zgodnie z dokumentacją nie jest krótsza droga. Można jednak rozszerzyć klasę i zaimplementować tę metodę. – Blas
Z namedtuples, powinieneś utworzyć typ namedtuple raz i używać go wielokrotnie, nie generując nowego typu namedtuple za każdym razem. Generowanie nowego, pokrewnego typu za każdym razem jest powolne i pokonuje wszelkie korzyści związane z przestrzenią. – user2357112
@ użytkownik2357112 prawdopodobnie użytkownik ma wiele dykt przy użyciu tych samych kluczy. – wim