Python – #15 – list() – .copy()

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.

Autor artykułu
Dominik Bednarski

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.