🐍 Хитрая ловушка в Python, на которую попадаются даже опытные
Интуитивно кажется, что это создаёт независимые строки матрицы.
Но на самом деле Python копирует ссылки - все три строки указывают на один и тот же список.
🔍 Поэтому изменение matrix[0][0] или append() влияет сразу на все строки.
🧠 Вывод программы:
[[1, 0, 0, 9],
[1, 0, 0, 9],
[1, 0, 0, 9]]
3
4
✔️ Как правильно создавать матрицу с независимыми строками:
matrix = [[0] * 3 for _ in range(3)]
Теперь каждая строка - отдельный список, и изменения не “протекают” по всей матрице.
matrix = [[0] * 3] * 3
matrix[0][0] = 1
matrix[1].append(9)
print(matrix)
print(len(matrix))
print(len(matrix[0]))
Интуитивно кажется, что это создаёт независимые строки матрицы.
Но на самом деле Python копирует ссылки - все три строки указывают на один и тот же список.
🧠 Вывод программы:
[[1, 0, 0, 9],
[1, 0, 0, 9],
[1, 0, 0, 9]]
3
4
✔️ Как правильно создавать матрицу с независимыми строками:
matrix = [[0] * 3 for _ in range(3)]
Теперь каждая строка - отдельный список, и изменения не “протекают” по всей матрице.
👍14❤3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Не полагайся на “хитрые” семена случайности в Python!
Python игнорирует знак числа в random.seed, поэтому seed от трех и seed от минус трех дают одинаковые результаты.
Разные seed не обязательно означают разные потоки — Python гарантирует только одно: одинаковый seed → одинаковая последовательность.
Если нужны независимые случайные потоки - создавай отдельные RNG или используй разные числовые диапазоны, а не вариации знака.
import random
rng_train = random.Random(42) # отдельный генератор для train
rng_test = random.Random(99) # отдельный генератор для test
print(rng_train.randint(1, 100))
print(rng_test.randint(1, 100))
https://www.youtube.com/shorts/TLNqDK6qQmU
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍1🔥1
🎉 Превратите статьи в слайды за один клик! 🎉
Paper2Slides позволяет быстро создавать профессиональные слайды и постеры из научных статей и документов. Поддерживает множество форматов, включая PDF и Word, с точным извлечением данных и возможностью кастомизации стилей.
🚀 Основные моменты:
- 📄 Поддержка различных форматов документов
- 🎯 Точное извлечение контента с сохранением источников
- 🎨 Возможность кастомизации стилей с помощью естественного языка
- ⚡ Быстрое создание слайдов с режимом предварительного просмотра
📌 GitHub: https://github.com/HKUDS/Paper2Slides
#python
Paper2Slides позволяет быстро создавать профессиональные слайды и постеры из научных статей и документов. Поддерживает множество форматов, включая PDF и Word, с точным извлечением данных и возможностью кастомизации стилей.
🚀 Основные моменты:
- 📄 Поддержка различных форматов документов
- 🎯 Точное извлечение контента с сохранением источников
- 🎨 Возможность кастомизации стилей с помощью естественного языка
- ⚡ Быстрое создание слайдов с режимом предварительного просмотра
📌 GitHub: https://github.com/HKUDS/Paper2Slides
#python
❤1👍1🔥1