Python List copy ()

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')

Interesujące artykuły...