---
author: Pans
category: Обучение
tags:
- code
- collections
- python
title: collections
---

Базовые функции библиотеки collections и примеры использования
```python
from collections import Counter, defaultdict, deque


def try_counter(item):
    c = Counter(item)
    return dict(c)


def try_defaultdict(item):
    d = defaultdict(list)
    for i, j in item:
        d[i].append(j)
    return dict(d)


def try_deque(item):
    d = deque(item)
    while d:
        print(d.popleft())


if __name__ == '__main__':
    data = "apple orange apple banana apple orange"
    print(try_counter(data.split()))

    data = [
        ("fruit", "apple"),
        ("fruit", "banana"),
        ("vegetable", "carrot"),
        ("fruit", "orange"),
    ]
    print(try_defaultdict(data))

    data = ["task1", "task2", "task3"]
    try_deque(data)

    logs = [
        ("user1", "login"),
        ("user2", "login"),
        ("user1", "logout"),
        ("user2", "logout"),
        ("user1", "login"),
    ]

    data = try_defaultdict(logs)
    for user in data:
        print(f'{user} today make {try_counter(data[user])}')
```
Результат
```bash
{'apple': 3, 'orange': 2, 'banana': 1}
{'fruit': ['apple', 'banana', 'orange'], 'vegetable': ['carrot']}
task1
task2
task3
user1 today make {'login': 2, 'logout': 1}
user2 today make {'login': 1, 'logout': 1}
```