将字典转换为命名元组或其他可哈希字典的Pythonic方式是什么?
- 论坛
- 将字典转换为命名元组或其他可哈希字典的Pythonic方式是什么?
8 浏览
将字典转换为命名元组或其他可哈希字典的Pythonic方式是什么?
我有一个类似于以下内容的字典:
d = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
我想将其转换为一个命名元组。
我目前的方法是使用以下代码:
namedTupleConstructor = namedtuple('myNamedTuple', ' '.join(sorted(d.keys()))) nt= namedTupleConstructor(**d)
它会产生如下结果:
myNamedTuple(a=1, b=2, c=3, d=4)
这对我来说效果不错(我认为),但是是否有类似于...
nt = namedtuple.from_dict()?
更新:如评论中所讨论的那样,我之所以想将字典转换为命名元组,是为了使其成为可哈希的,但仍然可以像字典一样通用。
更新2:在我发布这个问题的4年后,TLK发布了一个新答案,推荐使用dataclass装饰器,我认为这真的很棒。我认为这是我未来会使用的方法。