Skip to content

strukovsv/dictlist2

Repository files navigation

DictList2

DictList2 — это лёгкая Python-библиотека, расширяющая стандартный список для удобной работы с массивами словарей.

Возможности

  • 📦 unique() — исключает дубликаты по всем полям;
  • 🔢 sort() — сортировка по одному или нескольким ключам;
  • 🎯 distinct() — уникальные значения по выбранным полям;
  • 🔍 filter() — фильтрация по условиям;
  • 🔄 gen_filter() — группировка с возможностью сортировки;
  • 🔗 join() / left_join() — объединения списков по ключу;
  • 🧮 group_by() — группировка с подсчётом суммы;
  • 📊 aggregate() — универсальная агрегация: sum, count, avg, min, max.

Установка

pip install dictlist2

Пример использования

from dictlist2 import DictList2

data = DictList2([
    {"project": "A", "user": "Anna", "hours": 2},
    {"project": "A", "user": "Ivan", "hours": 3},
    {"project": "B", "user": "Anna", "hours": 4},
    {"project": "A", "user": "Anna", "hours": 1},
])

# Группировка с агрегацией
result = data.aggregate(
    group_columns="project",
    aggregations={"hours": ["sum", "avg"], "user": "count"}
)

for row in result:
    print(row)

Когда использовать DictList2?

  • Обработка данных из баз данных или API.
  • Построение отчётов без использования Pandas.
  • Быстрая фильтрация, группировка и агрегация словарей.

Совместимость

  • Python 3.10+
  • Без внешних зависимостей

Лицензия

MIT License

About

It is a lightweight Python library that extends the built-in list for convenient work with arrays of dictionaries.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors