Metoda .copy()
Zwraca płytką kopię (shallow copy) listy. Płytka kopia powoduje przekopiowanie jedynie wartości listy. Gdy porównamy identyfikator obiektu oryginalnej listy z identyfikatorem obiektu skopiowanej listy, to zauważymy, że identyfikatory posiadają różne wartości.
Składnia:
list.copy()
Parametry:
Metoda nie posiada parametrów.
Wartość zwracana:
list()
Przykłady:
list1 = [1, 2, 3] list2 = list1.copy() # --> shallow copy print(list2) # wynik --> [1, 2, 3] print(id(list1)) print(id(list2)) # wniosek --> id(list1) != id(list2) list2[1] = 5 print(list1) # wynik --> [1, 5, 3] print(list2) # wynik --> [1, 2, 3] list3 = [1, 2, 3] list4 = list3 # deep copy print(list4) # wynik --> [1, 2, 3] print(id(list3)) print(id(list4)) # wniosek --> id(list3) == id(list4) list4[1] = 5 print(list3) # wynik --> [1, 5, 3] print(list4) # wynik --> [1, 5, 3]
Kopiowanie głębokie (deep copy) powoduje skopiowanie referencji do obiektu, przez co, gdy będziemy wprowadzać zmiany w kopii, to również ulegnie zmianie oryginalny obiekt.