@Panda_Code
Сognizer

Как вывести среднюю сумму элементов словаря?

Ребята, добрый день!
Появился следующий вопрос, мне надо вывести общее кол-во машин и среднюю стоимость машин каждой марки. Я решил попробовать решить данный вопрос, через словарь:

from collections import Counter

ttl_cars = 0
car_price = 0

cars = {
    'Audi': {'A3': 3000, 'A4': 4000, 'A5': 5000, 'A6': 6000},
    'BMW': {'X1': 3000, 'X5': 4000, 'X6': 5000, 'M8': 6000},
    'MAZDA': {'MAZDA6': 3000, 'CX-5': 4000, 'CX-9': 5000, 'MX': 6000},
}

for key, value in cars.items():
    for i in value:
        ttl_cars += 1
print(f'В наличие - {ttl_cars} автомобилей.')

Попытка посчитать общую сумму, не удалась. Подскажите, как лучше или проще это сделать, возможно не стоит использовать словарь? Буду рад любому совету, по делу.
Спасибо заранее!
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
@deliro
Общее количество машин — это сумма количеств ключей в каждом вложенном словаре. Логично, что

sum(len(x) for x in cars.values())

Средняя стоимость — ну тут вообще просто:

from statistics import mean

for manufacturer, cars_data in cars.items():
    print(manufacturer, "в среднем стоит", mean(cars_data.values()))


mean — это не какая-то магическая функция, это просто сумма выборки, делённая на количество элементов в ней. Ну как обычное среднее.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы