🐍 Хитрая ловушка в 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)]
Теперь каждая строка - отдельный список, и изменения не “протекают” по всей матрице.
Безопасность, автоматизация, ИИ — всё в одном релизе
SourceCraft представил релиз, где каждая деталь продумана для командной эффективности.
• ИИ-обновления: улучшенный поиск уязвимостей, внутренняя система для проверки безопасности кода и генерация описаний к изменениям.
• Совместная работа: поддержка Gitlab CI/CD YAML, удобная работа с релизами и web-решение конфликтов в PR.
• Безопасный кодинг: дэшборд уязвимостей по всем репозиториям, страница Code Scanning (SAST), rescan и список библиотек с уязвимостями в SCA, а еще SourceCraft прошёл оценку соответствия требованиям ФЗ-152, PCI DSS, ГОСТ 57580.
✨ Обновился интерфейс CI/CD и появились уведомления о сборках через Telegram.
Расскажем в подробностях и ответим на вопросы в канале
SourceCraft представил релиз, где каждая деталь продумана для командной эффективности.
• ИИ-обновления: улучшенный поиск уязвимостей, внутренняя система для проверки безопасности кода и генерация описаний к изменениям.
• Совместная работа: поддержка Gitlab CI/CD YAML, удобная работа с релизами и web-решение конфликтов в PR.
• Безопасный кодинг: дэшборд уязвимостей по всем репозиториям, страница Code Scanning (SAST), rescan и список библиотек с уязвимостями в SCA, а еще SourceCraft прошёл оценку соответствия требованиям ФЗ-152, PCI DSS, ГОСТ 57580.
✨ Обновился интерфейс CI/CD и появились уведомления о сборках через Telegram.
Расскажем в подробностях и ответим на вопросы в канале
Каким будет вывод этого кода?
Anonymous Quiz
17%
1
9%
1 2
4%
1 2 3 4 5 6 ...
66%
1 3 5 7 9 11 ...
5%
Посмотреть ответ