Metoda copy () zwraca płytką kopię listy.
Listę można skopiować za pomocą =
operatora. Na przykład,
old_list = (1, 2, 3) new_list = old_list
Problem z kopiowaniem list w ten sposób polega na tym, że jeśli zmodyfikujesz nową_listę, zostanie również zmodyfikowana stara_lista. Dzieje się tak, ponieważ nowa lista odwołuje się lub wskazuje na ten sam obiekt old_list.
old_list = (1, 2, 3) new_list = old_list # add an element to list new_list.append('a') print('New List:', new_list) print('Old List:', old_list)
Wynik
Stara lista: (1, 2, 3, 'a') Nowa lista: (1, 2, 3, 'a')
Jeśli jednak chcesz, aby oryginalna lista była niezmieniona, gdy nowa lista jest modyfikowana, możesz użyć tej copy()
metody.
Powiązany poradnik: Python Shallow Copy Vs Deep Copy
Składnia copy()
metody to:
new_list = list.copy ()
copy () parametry
copy()
Metoda nie ma żadnych parametrów.
Wartość zwracana z kopii ()
copy()
Metoda zwraca nową listę. Nie modyfikuje oryginalnej listy.
Przykład 1: Kopiowanie listy
# mixed list my_list = ('cat', 0, 6.7) # copying a list new_list = my_list.copy() print('Copied List:', new_list)
Wynik
Lista skopiowana: ('cat', 0, 6,7)
Jeśli zmodyfikujesz new_list w powyższym przykładzie, my_list nie zostanie zmodyfikowana.
Przykład 2: Kopiuj listę przy użyciu składni krojenia
# shallow copy using the slicing syntax # mixed list list = ('cat', 0, 6.7) # copying a list using slicing new_list = list(:) # Adding an element to the new list new_list.append('dog') # Printing new and old list print('Old List:', list) print('New List:', new_list)
Wynik
Stara lista: ('kot', 0, 6,7) Nowa lista: ('kot', 0, 6,7, 'pies')