Судя по опросу выше, для многих релиз 3.12 не содержит каких-то больших сносящих крышу фич. Сложно с этим поспорить. Что ж, давайте тогда смотреть на мелкие фичи. По мелочам много всего приятно поменялось.
Например, в itertools
добавили функцию batched
, которая разбивает список или любой итерируемый объект на кортежи указанной длины. Последний кортеж может быть короче указанной длины, если не хватит элементов.
Пример:>>> list(batched('ABCDEFG', 3))
Раньше для этого приходилось либо определять эту функцию самостоятельно, взяв её из документации Python, либо устанавливать библиотеки, типа
[('A', 'B', 'C'), ('D', 'E', 'F'), ('G',)]more-itertools
. Да, эта функция испокон веков лежит в виде сниппета кода в документации, но в стандартной библиотеке её нигде не было. Теперь есть 🤷♂️ Возможно, теперь я буду чуть реже ставить more-itertools
.
Документация: https://docs.python.org/3/library/itertools.html#itertools.batched
>>Click here to continue<<
