Computing total de la lista de compras usando diccionarios [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Multiplicar y luego sumar valores de dos diccionarios (precios, stock) 6 respuestas

ntenté llamar al total de valores del diccionario para una lista de compras hecha en la lista, pero ha aparecido un error que suma 10,5 en lugar de 7,5, se supone que da el precio total de los artículos en una lista, cualquier lista.

stock = {
    "banana": 6,
    "apple": 0,
    "orange": 32,
    "pear": 15
}

prices = {
    "banana": 4,
    "apple": 2,
    "orange": 1.5,
    "pear": 3
}

# Write your code below!

def compute_bill(food):
    total = 0
    for item in food:
        item = shopping_list(prices[key])
        total += item
    return total
shopping_list = ["banana", "orange", "apple"]  

Respuestas a la pregunta(4)

Su respuesta a la pregunta