从kwargs键创建值列表

2024-06-26 00:27:36 发布

您现在位置:Python中文网/ 问答频道 /正文

如何从kwargs中获取值的列表(请参见下面的示例),我可以获取键,但不能获取值

夸克:

{'description_9': u' HVAC Ductwork Upgrade ', 'state_9': u'NSW', 'hours_6': u'2', 'hours_5': u'1', 'hours_4': u'1', 'hours_3': u'1', 'hours_2': u'8', 'hours_1': u'5', 'state_1': u'NSW', 'state_3': u'NSW', 'state_2': u'NSW', 'state_5': u'NSW', 'state_4': u'NSW', 'state_7': u'NSW', 'state_6': u'NSW', 'nbn_2': u' No ', 'nbn_3': u' Yes ', 'nbn_1': u' No ', 'nbn_6': u' Yes ', 'nbn_7': u' Yes ', 'nbn_4': u' No ', 'nbn_5': u' Yes ', 'nbn_8': u' Yes ', 'nbn_9': u' Yes ', 'site_8': u'Dee Why ', 'site_9': u'Sefton ', 'hours_9': u'4', 'site_2': u'Paddington ', 'site_3': u'Lidcombe ', 'site_1': u'Paddington ', 'site_6': u'St Marys ', 'site_7': u'Various ', 'site_4': u'Parramatta ', 'site_5': u'Kingsgrove ', 'spwo_8': u' SP30073989-2 ', 'spwo_9': u' SP30074031-1 ', 'spwo_4': u' SP30071948-1 ', 'spwo_5': u' SP30073129-1 ', 'spwo_6': u' SP30073989-1 ', 'spwo_7': u' SP30073989-3 ', 'spwo_1': u' SP30063647-1 ', 'spwo_2': u' SP30066349-1 ', 'spwo_3': u' SP30071798-1 ', 'hours_8': u'2', 'hours_7': u'3', 'description_2': u' Lvl 5 CHW PCU Upgrade ', 'description_3': u' Ductwork Upgrade ', 'description_1': u' Chilled Water Riser Upgrade ', 'description_6': u' HVAC Dropper Upgrade ', 'description_7' : u' HVAC Dropper Upgrade ', 'project_manager': u'Ossama Rihani', 'state_8': u'NSW', 'description_8': u' HVAC Dropper Upgrade ', 'description_5': u' HVAC and SGP Upgrade ', 'description_4': u' Main Distribution Board LCR Automatic Transfer Switches Design & Construction P2 '}

使用过滤器提取密钥的代码:

state_keys = [key for key in kwargs if key.startswith("state_")]

我试图获取键值的代码-未完成:

^{pr2}$

Tags: keynositedescriptionupgradekwargsyesstate
2条回答

Kwargs是一个dict,所以只需使用items()来迭代它。在

state_values = [value for key, value in kwargs.items() if key.startswith("state_")]

我不认为一个简单的引用^{}应该算是一个完整的答案,但是既然你坚持:

state_values = [value for key, value in kwargs.items() if key.startswith("state_")]

该问题是由于kwargsdict,如果要将参数展开为key和{},则必须使用kwargs.items()。这将返回一个键值元组的列表,然后可以很容易地将其扩展为key和{}。在

请注意,在python2.x中,^{}创建了一个完整的键值元组列表,而不是仅仅给您一个迭代器。为了避免不必要的资源使用,请改用^{}。在

相关问题 更多 >