Python Portal
55.6K subscribers
2.45K photos
394 videos
51 files
999 links
Всё самое интересное из мира Python

Связь: @devmangx

РКН: https://clck.ru/3GMMF6
Download Telegram
Ну емае


👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁714🌭3🌚1
Самая шокирующая статья, которую я сегодня прочитал: обязательно в стиле ШОК-КОНТЕНТ 😱

Автор этой истории: мейнтейнер популярной Python-библиотеки matplotlib.

Недавно ему прилетел PR от AI-агента. Автор по правилам просто закрыл PR.

И что сделал AI-агент дальше? Он самовольно пошел “мстить”: нагуглил историю вкладов автора в код, персональную инфу, после чего написал и публично опубликовал атакующую статью “Gatekeeping in Open Source: The Scott Shambaugh Story”.

Вот она 😅

В статье в основном куча бреда, цель простая: унизить и надавить на автора, чтобы он принял этот PR.

Это реально крипово. Ощущение, что “Скайнет” уже где-то рядом.

Ссылка на PR, можно зайти посмотреть: https://github.com/matplotlib/matplotlib/pull/31132

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁23🌚53🤯1🌭1
NVIDIA раздает бесплатные API-ключи.

Причем можно использовать не только их модели, но и сторонние, вроде Kimi-k2, Minimax и другие.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
17👍4🤔1
Где-то в офисе чудак собрал толпу

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁172
Используйте itertools вместо циклов

Хотя циклы это круто, но у них есть ограничения, особенно в современных стилях программирования и для некоторых типов задач. Понимание этих ограничений помогает выбрать правильный инструмент под задачу. Каждая итерация цикла в Python дает накладные расходы интерпретатора, например проверки типов и управление памятью. На больших датасетах это может заметно накапливаться.

Чтобы обойти это ограничение, в Python есть удобная встроенная библиотека itertools. Например, допустим, вам нужно сгенерировать все уникальные пары из заданного списка. Порядок не важен, и ни один элемент не должен образовывать пару сам с собой.

Чтобы не раздувать код и снизить риск багов, можно использовать библиотеку itertools. Функция itertools.combinations() напрямую генерирует все уникальные комбинации элементов из iterable без повторений и без учета порядка.

Вот как можно переписать код, используя combinations из itertools:

from itertools import combinations

def get_unique_pairs_itertools(items):
return list(combinations(items, 2))

my_list = ['A', 'B', 'C', 'D']
print(get_unique_pairs_itertools(my_list))

Output:
[('A', 'B'), ('A', 'C'), ('A', 'D'), ('B', 'C'), ('B', 'D'), ('C', 'D')]



👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍178