首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在嵌套字典中查找特定键的值

在嵌套字典中查找特定键的值
EN

Stack Overflow用户
提问于 2019-10-20 05:21:53
回答 1查看 37关注 0票数 0

我有一本嵌套字典

代码语言:javascript
复制
 customer_order = {order0 
{'Orientation': what_orientation, 'Size': what_size, 'sizecost': size_cost, 
 'eyelets': how_many_eyelets, 'eyeletcost': eyelet_cost, 'material': what_material,
 'materialcost': material_cost, 'ropes': need_ropes, 'ropecost': rope_cost, 
 'image': need_image, 'imagecost': 0, 'wording': what_wording, 'wordcost':word_cost}

order1{'Orientation': what_orientation, 'Size': what_size, 'sizecost': size_cost, 
 'eyelets': how_many_eyelets, 'eyeletcost': eyelet_cost, 'material': what_material, 
 'materialcost': material_cost, 'ropes': need_ropes, 'ropecost': rope_cost, 
'image': need_image, 'imagecost': 0, 'wording': what_wording, 'wordcost':word_cost}}

我需要做的是获取以下键的值

代码语言:javascript
复制
sizecost
eyeletcost
materialcost
ropecost
wordcost

如何循环获得这些值并将它们添加到正在运行的总数中?

谢谢

我尝试了下面的代码,但是得到了错误

代码语言:javascript
复制
for key, value in cust_details:

ValueError:太多的值无法解包(预期的2)

对于cust_order,cust_details在customer_order.items():print(“\n nOrder:",cust_order)中表示key,value in cust_details: if (key == "sizecost"):+=值

代码语言:javascript
复制
        if (key == "eyeletcost"):
            totalcosts += value

        if (key == "materialcost"):
            totalcosts += value

        if (key == "ropecost"):
            totalcosts += value

        if (key == "wordcost"):
            totalcosts += value

总成本+=值

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-20 05:56:07

您可以使用recurssion

代码语言:javascript
复制
def look(key,d,val = None):
    if val is None:
        val = []
    if key in d.keys():
       val.append(d.get(key))
    else:
        for i,j in d.items():
            if isinstance(j,dict):
                look(key,j,val)
    return val

现在尝试调用:look("sizecost", customer_order )

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58470272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档