This media is not supported in your browser
VIEW IN TELEGRAM
⚡ Python-трюк: быстрая группировка данных
Хотите сгруппировать элементы по ключу без лишних циклов?
Используйте
#Python #itertools #groupby #lifehack
Хотите сгруппировать элементы по ключу без лишних циклов?
Используйте
itertools.groupby
— но не забудьте предварительно отсортировать данные по этому ключу, иначе группы будут неправильными.
from itertools import groupby
from operator import itemgetter
data = [
{"user": "alice", "score": 8},
{"user": "bob", "score": 5},
{"user": "alice", "score": 7},
{"user": "bob", "score": 9},
]
# Сортируем по ключу
data.sort(key=itemgetter("user"))
# Группируем и считаем средний балл
for user, items in groupby(data, key=itemgetter("user")):
scores = [i["score"] for i in items]
print(user, "avg score:", sum(scores) / len(scores))
#Python #itertools #groupby #lifehack
👍7❤5🔥3