如何过滤具有多个键的字典
How to filter on dictionary with multiples keys
我有一个双键字典,如下所示:
{('Year', 'prix'): 130546.87449454193,
('Year', 'departement'): 11591.47409694357,
('Year', 'annee'): 34.28496633835407,
('Year', 'kilometrage'): 414330.13854019763,
('price', 'prix'): 324162.66684322944,
('price', 'departement'): 466290.81724082783,
('price', 'annee'): 454736.63137143303,
('price', 'kilometrage'): 117557.09720242623}
我只想过滤我的键的第一部分,它是一个元组。换句话说,如果我在我的代码中指定 'Year':
我想得到这个结果
{('Year', 'prix'): 130546.87449454193,
('Year', 'departement'): 11591.47409694357,
('Year', 'annee'): 34.28496633835407,
('Year', 'kilometrage'): 414330.13854019763}
我得到了我的结果,但只是在多行代码之后。请问有没有什么办法可以顺利完成
提前致谢
你可以使用字典理解:
# Suppose you have your dict stored in dct
# The line below returns a filtered dictionary, including keys with first tuple element 'Year'
{key: dct[key] for key in dct.keys() if key[0]=='Year'}
我有一个双键字典,如下所示:
{('Year', 'prix'): 130546.87449454193,
('Year', 'departement'): 11591.47409694357,
('Year', 'annee'): 34.28496633835407,
('Year', 'kilometrage'): 414330.13854019763,
('price', 'prix'): 324162.66684322944,
('price', 'departement'): 466290.81724082783,
('price', 'annee'): 454736.63137143303,
('price', 'kilometrage'): 117557.09720242623}
我只想过滤我的键的第一部分,它是一个元组。换句话说,如果我在我的代码中指定 'Year':
我想得到这个结果{('Year', 'prix'): 130546.87449454193,
('Year', 'departement'): 11591.47409694357,
('Year', 'annee'): 34.28496633835407,
('Year', 'kilometrage'): 414330.13854019763}
我得到了我的结果,但只是在多行代码之后。请问有没有什么办法可以顺利完成
提前致谢
你可以使用字典理解:
# Suppose you have your dict stored in dct
# The line below returns a filtered dictionary, including keys with first tuple element 'Year'
{key: dct[key] for key in dct.keys() if key[0]=='Year'}