繁体   English   中英

如何将列表中的值引用到字典键值?

[英]How can I reference a value from a list to the dictionary key value?

所以我对这段代码有两个论据:一个是一本充满附有价格的杂货的字典,一个是商品本身。 我的目标是添加我放入购物车的每件商品的价格。

例如,如果列表 shopping_list 被定义为["shampoo", "brush", "shampoo", "soap", "soap", "dog food", "soap"] ,那么我会将这些相应的值加在一起。价格已经在我的论点中定义了。 但是,我非常坚持这一点。 这是我到目前为止:

def shopping(products, shopping_list):
    total = 0
    for n in shopping_list:
        if n in products.keys():
            total += sum(products.values())
    return total

我返回的数字太高了。

这从与列表中的项目对应的字典中取出值并取总和:

lst = ["shampoo", "brush", "shampoo", "soap", "soap", "dog food", "soap"]

d = {'shampoo': 2, 'brush': 1, 'soap': 3, 'dog food': 5}

print(sum(d[x] for x in lst))
# 19

对于产品中不存在案例项目 => 我将其设置为 0。

shopping_list = ["shampoo", "brush", "shampoo", "soap", "soap", "dog food", "soap"] products = {'shampoo': 2, 'brush': 1, 'soap': 3, 'dog food': 5} final_result = {} for item in shopping_list: if item in final_result: final_result[item] += products.get(item,0) else: final_result[item] = products.get(item,0) return final_result

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM