从namedtuple的子集中获取一个dict

时间:2017-10-13 17:22:01

标签: python-3.x dictionary tuples namedtuple

我想将namedtuple的子集转换为一个字典。喜欢以下我有Namedtuple作为Const。但我想创建一个像{'typeB':'value_typeB', 'typeC':'value_typeC'}这样的字典。有更好的方法吗?

from collections import namedtuple
Namedtuple = namedtuple('Namedtuple', ['typeA', 'typeB', 'typeC', 'typeD'])
Const = Namedtuple(typeA='value_typeA', typeB='value_typeB', typeC='value_typeC', typeD='
a = {k: v for k, v in Const._asdict().items() if k in ['typeB', 'typeC']}
print(a)

1 个答案:

答案 0 :(得分:1)

使用变量中的键访问值使用getattr内置函数

a = {k: getattr(Const, k) for k in ['typeB', 'typeC']}