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

2024-10-02 02:27:40 发布

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

所以我有两个参数来支持这段代码:一个是一本字典,里面装满了附带价格的杂货,另一个是商品本身。我的目标是把我放在购物车里的每样东西的价格加起来。你知道吗

例如,如果列表定义为 ["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

我返回的数字太高了。你知道吗


Tags: 代码in目标参数字典价格附带soap
2条回答

对于产品中不存在case项=>;我将其设置为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

这将从与列表中的项对应的字典中取出值,并取其和:

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

相关问题 更多 >

    热门问题