У меня есть список, содержащий словари, подобные этому
[{u'itemcode': 1, u'cost': 5, u'type': u'train', u'name': u'percy'},
{u'itemcode': 2, u'cost': 10, u'type': u'train', u'name': u'Caron'},
{u'itemcode': 3, u'cost': 12, u'type': u'train', u'name': u'thameslink'},
{u'itemcode': 6, u'cost': 15, u'type': u'car', u'name': u'Ford'},]
Я хочу получить сумму предметов одного и того же типа, но игнорирую наименьшее значение из 3 или более одинаковых типов.
[{u'itemcode': 4, u'cost': 20.5, u'type': u'car', u'name': u'volvo'},
{u'itemcode': 5, u'cost': 25, u'type': u'car', u'name': u'tesla'},
{u'itemcode': 6, u'cost': 15, u'type': u'car', u'name': u'Ford'}]
для этого набора общая сумма должна составлять 45,5, но получается 40
Я пытаюсь поставить еще одни и те же предметы со стоимостью:
types = {}
selected_types = []
current_item_cost = []
last_item_type = None
for item in self._deserialize():
# if item["type"] not in types:
current_item_cost.append(item["cost"])
types[item["type"]] = current_item_cost
print types
, но это добавляет все затраты в каждом типе
поэтому для 3 поездов я бы предположил, что сумма должна составлять 22, игнорируя элемент с кодом 1!