Самая шокирующая статья, которую я сегодня прочитал: обязательно в стиле ШОК-КОНТЕНТ 😱
Автор этой истории: мейнтейнер популярной Python-библиотеки matplotlib.
Недавно ему прилетел PR от AI-агента. Автор по правилам просто закрыл PR.
И что сделал AI-агент дальше? Он самовольно пошел “мстить”: нагуглил историю вкладов автора в код, персональную инфу, после чего написал и публично опубликовал атакующую статью “Gatekeeping in Open Source: The Scott Shambaugh Story”.
Вот она😅
В статье в основном куча бреда, цель простая: унизить и надавить на автора, чтобы он принял этот PR.
Это реально крипово. Ощущение, что “Скайнет” уже где-то рядом.
Ссылка на PR, можно зайти посмотреть: https://github.com/matplotlib/matplotlib/pull/31132
👉 @PythonPortal
Автор этой истории: мейнтейнер популярной Python-библиотеки matplotlib.
Недавно ему прилетел PR от AI-агента. Автор по правилам просто закрыл PR.
И что сделал AI-агент дальше? Он самовольно пошел “мстить”: нагуглил историю вкладов автора в код, персональную инфу, после чего написал и публично опубликовал атакующую статью “Gatekeeping in Open Source: The Scott Shambaugh Story”.
Вот она
В статье в основном куча бреда, цель простая: унизить и надавить на автора, чтобы он принял этот PR.
Это реально крипово. Ощущение, что “Скайнет” уже где-то рядом.
Ссылка на PR, можно зайти посмотреть: https://github.com/matplotlib/matplotlib/pull/31132
Please open Telegram to view this post
VIEW IN TELEGRAM
😁23🌚5❤3🤯1🌭1
NVIDIA раздает бесплатные API-ключи.
Причем можно использовать не только их модели, но и сторонние, вроде Kimi-k2, Minimax и другие.
👉 @PythonPortal
Причем можно использовать не только их модели, но и сторонние, вроде Kimi-k2, Minimax и другие.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17👍4🤔1
Используйте itertools вместо циклов
Хотя циклы это круто, но у них есть ограничения, особенно в современных стилях программирования и для некоторых типов задач. Понимание этих ограничений помогает выбрать правильный инструмент под задачу. Каждая итерация цикла в Python дает накладные расходы интерпретатора, например проверки типов и управление памятью. На больших датасетах это может заметно накапливаться.
Чтобы обойти это ограничение, в Python есть удобная встроенная библиотека itertools. Например, допустим, вам нужно сгенерировать все уникальные пары из заданного списка. Порядок не важен, и ни один элемент не должен образовывать пару сам с собой.
Чтобы не раздувать код и снизить риск багов, можно использовать библиотеку itertools. Функция itertools.combinations() напрямую генерирует все уникальные комбинации элементов из iterable без повторений и без учета порядка.
Вот как можно переписать код, используя combinations из itertools:
👉 @PythonPortal
Хотя циклы это круто, но у них есть ограничения, особенно в современных стилях программирования и для некоторых типов задач. Понимание этих ограничений помогает выбрать правильный инструмент под задачу. Каждая итерация цикла в 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')]
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤8