Как найти подходящие типы наборов и найти общую стоимость, игнорируя стоимость самого дешевого набора - PullRequest
0 голосов
/ 10 января 2020

У меня есть данные в json,

---
  1:
    type: train
    name: percy
    cost: 5
  2:
    type: train
    name: Caron
    cost: 5
  3:
    type: train
    name: thameslink
    cost: 5
  4:
    type: car
    name: hyundai
    cost: 20.5
  5:
    type: car
    name: Vrna
    cost: 25
  6:
    type: car
    name: Lancer
    cost: 15
  7:
    type: tractor
    name: Vtec
    cost: 10
  8:
    type: tractor
    name: gmt
    cost: 10
  9:
    type: tractor
    name: Ronan
    cost: 5

, которые пытаются найти равные наборы и затем объединить стоимость всех наборов, но игнорируют стоимость самого дешевого набора среди всех доступных наборов.

, поэтому здесь стоимость комплекта поездов игнорируется, так как они самые дешевые, а общее количество тракторов и автомобилей составляет 85.5

1 Ответ

0 голосов
/ 10 января 2020

Я думаю, что сделал это сам:

    types = defaultdict(list)
    for datum in cart_items:
        types[datum[u'type']].append(datum[u'cost'])

    sets_cost = []
    for item , costs in types.items():
        sets_cost.append(sum(costs))

    sets_cost.pop(sets_cost.index(min(sets_cost)))
    print sum(sets_cost)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...