2017-10-13 11 views
0

namedtupleのサブセットを1つの辞書に変換したいと思います。次のように私はConstとしてNamedtupleを持っています。しかし、{'typeB':'value_typeB', 'typeC':'value_typeC'}のような辞書を作成したいと思います。それを行う良い方法はありますか?namedtupleのサブセットからdictを取得

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

は、あなたがより良いとはどういう意味ですか変数の使用getattr組み込み関数では、キーと値にアクセスするには?現在のアプローチで何が問題になっていますか? –

+0

は、iterateとcheckの代わりに、より簡単な方法を使用します。なぜなら、もし私が辞書に20以上の項目を持っていて、それから10項目を取得したいのであれば···その行はかなり長くなるでしょう – jacobcan118

+0

あなたは興味のあるキーで常にリストを動的に作成し、 'もしk in ... 'ステートメント – efkin

答えて

1

a = {k: getattr(Const, k) for k in ['typeB', 'typeC']} 
関連する問題