Skip to main content

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

Metadata

Release files for DictList2 1.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for DictList2 1.0.3
File Size Uploaded
dictlist2-1.0.3.tar.gz 13.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for DictList2 1.0.3
File Interpreter ABI Platform
dictlist2-1.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 22.1 kB

Release files / dictlist2-1.0.3.tar.gz

Download URL dictlist2-1.0.3.tar.gz
Size 13.6 kB
Tags Source
SHA-256 checksum
How to use checksums
8edd7fe985913260b2e5229a0a2233fc55783e771d42c0bd5cde8b1b09a0b6b9
BLAKE2b-256 checksum
How to use checksums
2adaa5d630d206262cb146ac7a1d9dc006297c3a8f73618c1d5336214e693665
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / dictlist2-1.0.3-py3-none-any.whl

Download URL dictlist2-1.0.3-py3-none-any.whl
Size 8.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dd68fdaaa29e3428d9bfe6583defa892b5d42e7c55724a06633c74a3d616193f
BLAKE2b-256 checksum
How to use checksums
f519bcffedcee1f4426c122f87c4a6f7ac987e2cb13d14035a97b08f57e63585
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release history Release notifications | RSS feed

This release

1.0.3 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page