首页 > 解决方案 > 如果键之一是或字典中的“0”,如何获取键

问题描述

我的字典在下面,我的产品输出在下面。我需要创建一个有两种类型的新字典Out_1Out_2

product = {'Product1': {'index': '1', '1': 'Book', '2': 'Pencil', '3': 'Pen','value': '1'}, 
 'Product2': {'index': '2', '1': 'Marker', '2': 'MYSQL', '3': 'Scale','value': '0'}}

如果产品内部的值是0然后提取键

预期产出

Out_1 = {'Product2': {1:'Marker': '2': 'Compass', '3': 'Scale', 'value': 0}}
Out_2 = {'Product2':['Marker','Compass','Scale', '0']}

伪代码如下。我试图创建但无法像上面那样创建

Out_1 = {}
Out_2 = {i:[]}
for i,j in product.items():
  for a,b in j.items():
    if a['value'] == 0:
       Out_2.append(i)

我收到索引错误,如何获取Out_1Out_2

标签: python

解决方案


您可以为此使用 dict 理解。

out_1 = {k: v for k, v in product.items() if v['value']=='0'}
out_2 = {k: list(v.values()) for k, v in product.items() if v['value']=='0'}

推荐阅读