Python Разработка | Web Backend, Парсинг & Telegram Bots. Пайтон программирование с нуля. Django, FastAPI и SQL. Уроки для начинающих и IT карьера. Coding.
Образование · 29 апреля 2026 г.
💡10 функций, для продвинутых Python-разработчиков — 29 апреля 2026 г. в 08:12:00.552
💡10 функций, для продвинутых Python-разработчиков 1. Разворачиваем вложенных списков любой глубины flatten = lambda lst: [x for sub in lst for x in (flatten(sub) if isinstance(sub, list) else [sub])] 2. Декоратор для мемоизации результатов функции memoize = lambda f: (lambda *args, _cache={}, **kwargs: _cache.setdefault((args, tuple(kwargs.items())), f(*args, **kwargs))) 3. Разбиение списка на куски длины n chunked = lambda lst, n: [lst[i:i+n] for i in range(0, len(lst), n)] 4. Уникализация последовательности с сохранением порядка uniq = lambda seq: list(dict.fromkeys(seq)) 5. Глубокий доступ к вложенным ключам словаря deep_get = lambda d, *keys: __import__('functools').reduce(lambda a, k: a.get(k) if isinstance(a, dict) else None, keys, d) 6. Преобразование Python-объекта в читаемый JSON pretty_json = lambda obj: __import__('json').dumps(obj, ensure_ascii=False, indent=2) 7. Чтение последних n строк файла (аналог tail) tail = lambda f, n=10: list(__import__('collections').deque(open(f), maxlen=n)) 8. Выполнение shell-команды и возврат вывода sh = lambda cmd: __import__('subprocess').run(cmd, shell=True, check=True, capture_output=True).stdout.decode().strip() 9. Быстрое объединение путей path_join = lambda *p: __import__('os').path.join(*p) 10. Группировка списка словарей по значению ключа group_by = lambda seq, key: {k: [d for d in seq if d.get(key) == k] for k in set(d.get(key) for d in seq)} 👉 @BookPython

