Junior — Senior
66
Определение отклонений сумм по клиентам
Компании, где спрашивали:
Условие задачи
Имеются два упорядоченных массива словарей list1 и list2. Каждый элемент хранит идентификатор клиента (client_id) и его финансовую величину (sum). Нужно сопоставить записи из обоих массивов по полю client_id, вычислить абсолютную разницу сумм для каждого клиента и подсчитать суммарное значение всех отклонений. После этого требуется сформировать список из десяти клиентов, у которых разница максимальна по модулю.
list1 = [
{'client_id': 1, 'sum': 10},
{'client_id': 2, 'sum': 20},
{'client_id': 3, 'sum': 40},
]
list2 = [
{'client_id': 1, 'sum': 10},
{'client_id': 2, 'sum': 25},
{'client_id': 3, 'sum': 30},
]
# Ожидаемый результат:
# общая сумма отклонений: 5 + 40 + 30 = 75
# top10:
top10 = [
{'client_id': 3, 'diff': 40},
{'client_id': 2, 'diff': 5},
{'client_id': 1, 'diff': 0},
]
list1 = [
{'client_id': 1, 'sum': 10},
{'client_id': 2, 'sum': 20},
{'client_id': 3, 'sum': 40},
]
list2 = [
{'client_id': 1, 'sum': 10},
{'client_id': 2, 'sum': 25},
{'client_id': 3, 'sum': 30},
]