[navigationController.navigationBar setBarStyle:UIBarStyleBlack];
Нарезка создает мелкую копию . В вашем примере я вижу, что вы вызываете insert ()
для item [-1]
, что означает, что этот элемент является списком списков. Это означает, что ваши неглубокие копии по-прежнему ссылаются на исходные объекты. Вы можете думать об этом как о создании копий указателей, а не реальных объектов.
Ваше решение заключается в использовании вместо этого глубоких копий . Python предоставляет модуль копирования как раз для такого рода вещей. При поиске вы найдете гораздо больше информации о неглубоком и глубоком копировании.
Если вы копируете объект, его содержимое не копируется. Вероятно, в большинстве случаев это то, что вам нужно. В вашем случае вы должны убедиться, что содержимое копируется самостоятельно. Вы можете использовать copy.deepcopy, но если у вас есть список списков или что-то подобное, я бы рекомендовал использовать copy = [l [:] для l в list_of_lists]
, это должно быть намного быстрее.
Небольшое примечание к вашему стилю кода: