В Python имя переменной может состоять из одного символа подчёркивания: _. Хотя такие имена обычно недостаточно описательны и их не стоит использовать, существует по крайней мере т…
Читать далее →
Есть три ситуации, в которых только что созданную переменную нельзя аннотировать типом: распаковка кортежей, циклы for и инструкции with.
Все эти примеры некорректны:
name: str, …
Читать далее →
В Python сортировка по умолчанию является стабильной, то есть сохраняет порядок равных элементов: a = [2, -1, 0, 1, -2] sorted(a, key=lambda x: x**2) …
В Python сортировка по умолчанию является стабильной, то есть сохраняет порядок равных элементов:
a = [2, -1, 0, 1, -2]
sorted(a, key=lambda x: x**2)
# [0, -1, 1, 2, -2]
Функции max и min тоже стараются быть согласованными с поведением sorted.
max работает аналогично sorted(a, reverse=True)[0], а min — как sorted(a)[0].
Это означает, что обе функции возвращают самый левый возможный результат:
max([2, -2], key=lambda x: x**2)
# 2
max([-2, 2], key=lambda x: x**2)
# -2
min([2, -2], key=lambda x: x**2)
# 2
min([-2, 2], key=lambda x: x**2)
# -2
👉 @BookPython
Хотите в машинное обучение, но не знаете, с чего начать?
🦾 За 11 месяцев комплексный курс от Otus поможет вам пройти путь от основ Python и математики до построения и внедрения мо…
Читать далее →
Модуль collections предоставляет класс ChainMap, который позволяет использовать несколько отображений (словарей) как одно объединённое:
from collections import ChainMap
d = Chain…
Читать далее →