Value Counts + процент от общего

MediumML coding
05:00
Лучше работает на десктопе
Pandasvalue_countsпроценты

Дан список статусов заказов.

Для каждого уникального статуса посчитайте:
- количество вхождений (count)
- процент от общего числа (pct, округлить до 1 знака)

Задача основана на вопросах с собеседований в Ozon.

Сигнатура

def value_counts_pct(statuses: list[str]) -> list[dict]:

Примеры

Пример 1

Вход:
statuses = ["completed","completed","pending","completed","cancelled","pending"]
Выход:[{"status":"completed","count":3,"pct":50},{"status":"pending","count":2,"pct":33.3},{"status":"cancelled","count":1,"pct":16.7}]

Пример 2

Вход:
statuses = ["a","b","a","b","c"]
Выход:[{"status":"a","count":2,"pct":40},{"status":"b","count":2,"pct":40},{"status":"c","count":1,"pct":20}]

Пример 3

Вход:
statuses = ["x","x","x","x"]
Выход:[{"status":"x","count":4,"pct":100}]
Консоль
Нажмите Run или Ctrl+Enter для запуска