В предыдущих частях мы рассмотрели срезы, распаковкуупаковку коллекций и некоторые особенности булевых операций и типов.
В комментариях упоминалась возможность умножения коллекций на скаляр:
a = [0] * 3
s = 'a' * 2
print(a, s) # -> [0, 0, 0], 'aa'
Более-менее опытный разработчик на языке python знает, что в нём отсутствует механизм копирования при записи
a = [0]
b = a
b[0] = 1
print(a, b) # -> [1], [1]
Что же тогда выведет следующий код?
b = a * 2
b[0] = 2
print(a, b)