„Python“ sąrašo kopija ()

Metodas copy () pateikia seklią sąrašo kopiją.

Sąrašą galima nukopijuoti naudojant =operatorių. Pavyzdžiui,

 senas_ sąrašas = (1, 2, 3) naujas_ sąrašas = senas_ sąrašas

Tokiu būdu kopijuojant sąrašus, problema yra ta, kad jei modifikuojate new_list, modifikuojamas ir old_list. Taip yra todėl, kad naujasis sąrašas nurodo tą patį objektą „old_list“ arba nurodo jį.

 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)

Rezultatas

 Senas sąrašas: (1, 2, 3, „a“) ​​Naujas sąrašas: (1, 2, 3, „a“)

Tačiau, jei pakeitus naują sąrašą jums reikia nepakeisti pradinio sąrašo, galite naudoti copy()metodą.
Susijusi pamoka: „ Python Shallow Copy Vs Deep Copy“

copy()Metodo sintaksė yra tokia:

 new_list = list.copy ()

copy () parametrai

copy()Metodas nesiima jokių parametrų.

Grąžinimo vertė iš kopijos ()

copy()Metodas grąžina naują sąrašą. Tai nekeičia pradinio sąrašo.

1 pavyzdys: sąrašo kopijavimas

 # mixed list my_list = ('cat', 0, 6.7) # copying a list new_list = my_list.copy() print('Copied List:', new_list)

Rezultatas

 Nukopijuotas sąrašas: ('katė', 0, 6.7)

Jei modifikuosite „new_list“ aukščiau pateiktame pavyzdyje, „my_list“ nebus pakeistas.

2 pavyzdys: kopijuoti sąrašą naudojant pjaustymo sintaksę

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

Rezultatas

 Senas sąrašas: („katė“, 0, 6.7) Naujas sąrašas: („katė“, 0, 6.7, „šuo“)

Įdomios straipsniai...