This media is not supported in your browser
VIEW IN TELEGRAM
👇Python баг, который выглядит безобидно… но ломает логику #python
fruits = ["apple", "lime", "orange",
"pineapple", "orange"]
for f in fruits:
if f == "orange":
fruits.remove(f)
print(fruits)
Ожидание: оба orange удалятся.
Реальность: один orange остаётся.
Почему так происходит?
Ты изменяешь список во время итерации.
После удаления элементы сдвигаются, и цикл пропускает следующий элемент.
Это классический сценарий продакшн-багов:
• код выглядит правильно
• тесты могут пройти
• но данные обрабатываются неправильно
Правильный вариант:
fruits = [f for f in fruits if f != "orange"]
Мораль:
Изменяешь коллекцию во время обхода -Deploy first. Pray later.
fruits = ["apple", "lime", "orange",
"pineapple", "orange"]
for f in fruits:
if f == "orange":
fruits.remove(f)
print(fruits)
Ожидание: оба orange удалятся.
Реальность: один orange остаётся.
Почему так происходит?
Ты изменяешь список во время итерации.
После удаления элементы сдвигаются, и цикл пропускает следующий элемент.
Это классический сценарий продакшн-багов:
• код выглядит правильно
• тесты могут пройти
• но данные обрабатываются неправильно
Правильный вариант:
fruits = [f for f in fruits if f != "orange"]
Мораль:
Изменяешь коллекцию во время обхода -Deploy first. Pray later.
❤3👍1💊1
Forwarded from Python вопросы с собеседований
Media is too big
VIEW IN TELEGRAM
🐍 Python-библиотеки - сложность изучения 🔥
• 🌐 Requests - 🟢 Легко
• 📊 Pandas - 🟢 Легко
• 🔢 NumPy - 🟢 Легко
• 📈 Matplotlib - 🟢 Легко
• 🕸️ BeautifulSoup - 🟢 Легко
• ⚡ FastAPI - 🟡 Легко–Средне
• 🧩 Pydantic - 🟡 Легко–Средне
• 📦 Pytest - 🟡 Легко–Средне
• 🗄️ SQLAlchemy - 🟠 Средне
• 🤖 Scikit-Learn - 🟠 Средне
• 🔥 PyTorch - 🟠 Средне
• 🧠 TensorFlow - 🟠 Средне
• 📉 Statsmodels - 🟠 Средне
• 🧬 Dask - 🔴 Сложно
• ⚡ Ray - 🔴 Сложно
• 🔗 LangChain - 🟠 Средне
• 🧠 LangGraph - 🟣 Очень сложно
Самые лёгкие, вроде Requests или BeautifulSoup, решают одну конкретную задачу.
У них простой API — сделал запрос, получил данные, готово.
Чуть сложнее библиотеки вроде FastAPI или Pydantic.
Они требуют понимания архитектуры приложений, валидации данных и работы серверов.
Средний уровень - SQLAlchemy, PyTorch, TensorFlow.
Здесь уже нужно понимать базы данных, машинное обучение и математические модели.
А вот Dask и Ray считаются сложными не потому, что код длинный. А потому что они работают с распределёнными вычислениями - кластеры, параллельность, управление ресурсами.
То есть чем выше уровень библиотеки, тем больше системного мышления и архитектуры нужно понимать.
Поэтому сложность Python-библиотек -
это не про Python. Это про уровень задач, которые они решают.
#Python #PythonDev #MachineLearning
https://www.youtube.com/shorts/vDm-vYmoxx0
🐍 Python полезные ресурсы 🚀Max
• 🌐 Requests - 🟢 Легко
• 📊 Pandas - 🟢 Легко
• 🔢 NumPy - 🟢 Легко
• 📈 Matplotlib - 🟢 Легко
• 🕸️ BeautifulSoup - 🟢 Легко
• ⚡ FastAPI - 🟡 Легко–Средне
• 🧩 Pydantic - 🟡 Легко–Средне
• 📦 Pytest - 🟡 Легко–Средне
• 🗄️ SQLAlchemy - 🟠 Средне
• 🤖 Scikit-Learn - 🟠 Средне
• 🔥 PyTorch - 🟠 Средне
• 🧠 TensorFlow - 🟠 Средне
• 📉 Statsmodels - 🟠 Средне
• 🧬 Dask - 🔴 Сложно
• ⚡ Ray - 🔴 Сложно
• 🔗 LangChain - 🟠 Средне
• 🧠 LangGraph - 🟣 Очень сложно
Самые лёгкие, вроде Requests или BeautifulSoup, решают одну конкретную задачу.
У них простой API — сделал запрос, получил данные, готово.
Чуть сложнее библиотеки вроде FastAPI или Pydantic.
Они требуют понимания архитектуры приложений, валидации данных и работы серверов.
Средний уровень - SQLAlchemy, PyTorch, TensorFlow.
Здесь уже нужно понимать базы данных, машинное обучение и математические модели.
А вот Dask и Ray считаются сложными не потому, что код длинный. А потому что они работают с распределёнными вычислениями - кластеры, параллельность, управление ресурсами.
То есть чем выше уровень библиотеки, тем больше системного мышления и архитектуры нужно понимать.
Поэтому сложность Python-библиотек -
это не про Python. Это про уровень задач, которые они решают.
#Python #PythonDev #MachineLearning
https://www.youtube.com/shorts/vDm-vYmoxx0
🐍 Python полезные ресурсы 🚀Max
👍4🤮1
🚀 Browser Harness - это легкий инструмент, позволяющий LLM выполнять любые задачи в браузере с полной свободой действий. Он самозаживляющийся и работает напрямую с Chrome через WebSocket, позволяя агенту добавлять недостающие функции по мере выполнения задач.
Основные моменты:
- Полная свобода действий для LLM в браузере.
- Самообучение: агент создает недостающие функции.
- Поддержка бесплатных удаленных браузеров.
- Простой и понятный код (~592 строки Python).
- Возможность добавления новых доменных навыков.
📌 GitHub: https://github.com/browser-use/browser-harness
#python
Основные моменты:
- Полная свобода действий для LLM в браузере.
- Самообучение: агент создает недостающие функции.
- Поддержка бесплатных удаленных браузеров.
- Простой и понятный код (~592 строки Python).
- Возможность добавления новых доменных навыков.
📌 GitHub: https://github.com/browser-use/browser-harness
#python
❤1👍1