Приветствую
Возможно существуют более двух способов создания копии списка, кроме:
b = a[:]
b = a.copy()
Но зачем нужно создавать два и более способов, когда легко можно обойтись всего одним способом?
Дополнение к вопросу:
Есть код:
a = [1 , 2, [3, 4]]
b = a[:]
c = a.copy()
print(a)
print(b)
print(c)
print()
a[1] = 0
a[2][1] = 'xx'
print(a)
print(b)
print(c)
Результат:
[1, 2, [3, 4]]
[1, 2, [3, 4]]
[1, 2, [3, 4]]
[1, 0, [3, 'xx']]
[1, 2, [3, 'xx']]
[1, 2, [3, 'xx']]
Почему так происходит – при изменении во вложенном списке с которого снята копия элементы меняются и в других списках, а отдельные элементы в скопированных списках не меняются?