new_list = my_list[:]
new_list = my_list
Попытайтесь это понять. Предположим, что my_list находится в памяти кучи в месте X, то есть my_list указывает на X. Теперь, назначив new_list = my_list
, вы даете new_list указывать на X. Это называется мелкой копией.
Теперь, если вы назначили new_list = my_list[:]
, вы просто копируете каждый объект my_list в new_list. Это известно как Deep copy.
Другой способ, которым вы можете это сделать:
new_list = list(old_list)
import copy
new_list = copy.deepcopy(old_list)
Пакетный файл сохраняется как префикс спецификации utf-8. То, что вы видите как префикс cd
, - это знак порядка байтов.
Сохраните файл как ANSI или utf-8 без спецификации, чтобы заставить его работать.