For most, I am not sure if it's the right question to be asked but I couldn't yet found out why there are two different types of named tuple... I have read " What's the difference between namedtuple and NamedTuple?" page. However, I still don't understand how to convert a dictionary to a NamedTuple. I have tried this code :
from collections import namedtuple
def convert(dictionary):
return namedtuple('GenericDict', dictionary.keys())(**dictionary)
however, this piece of code only converts the dict to a namedtuple from the collection module.
I was wondering if anyone can help me out on this.
How should I make a function to transform any random dict into a typing.NamedTuple
.
Assume we have a class of NamedTuple like this :
class settingdefault(NamedTuple):
epoch : int = 8
train_size : float = 0.8
b: str = "doe"
and we just want to get an input of dict from the user and transform it to NamedTuple. So if there was an element missing it can get replaced by the settingdefault class.
and lets assume that the example dict is :
config = dict(e=10, b="test")
BTW, I want it to be like a function. other than that I know how to do it like :
setting = settingdefault(config['a'], config['b'])
I want to be able to have it for cases that I don't know the keys of the coming config dict as it can be anything. Once again for the clarification ! My question is about typing.NamedTuple not the collections.namedtuple .