(En part de https://wiki.python.org/moin/SimplePrograms, en part collita pròpia)
Considerem un diccionari de preus, amb productes bàsics:
In [ ]:
prices = {'apple': 0.40, 'banana': 0.50, 'entrada_promocional': 10, 'entrada_simple': 17}
I considerem una llista d'objectes que ha comprat un cert "client"
In [ ]:
compra_marcos = [
'apple',
'banana',
'apple',
'entrada_promocional',
'apple',
'banana',
'entrada_promocional', # segur que voldrà un canvi de nom d'aquesta
]
In [ ]:
result = dict()
for i in range(len(compra_marcos)):
producte = compra_marcos[i]
previous_value = result.get(producte)
if previous_value == None:
result[producte] = 1
else:
result[producte] = previous_value + 1
result
In [ ]:
result = dict()
for producte in compra_marcos:
if producte not in result:
result[producte] = 1
else:
result[producte] += 1
result
In [ ]:
from collections import Counter
result = Counter(compra_marcos)
result
In [ ]:
total = 0
for producte, quantitat in result.items():
total += prices[producte] * quantitat
total
In [ ]:
total = sum(prices[producte] * quantitat for producte, quantitat in result.items())
total