Python saraksta kopija ()

Metode copy () atgriež sekla saraksta kopiju.

Sarakstu var nokopēt, izmantojot =operatoru. Piemēram,

 old_list = (1, 2, 3) new_list = old_list

Šādi kopējot sarakstus, problēma ir tāda, ka, modificējot new_list, tiek mainīts arī old_list. Tas ir tāpēc, ka jaunais saraksts atsaucas uz to pašu objektu old_list vai norāda uz to.

 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)

Rezultāts

 Vecais saraksts: (1, 2, 3, 'a') Jaunais saraksts: (1, 2, 3, 'a')

Tomēr, ja sākotnējais saraksts ir jāmaina, mainot jauno sarakstu, varat izmantot copy()metodi.
Saistītā apmācība: Python sekla kopija pret dziļu kopēšanu

Metodes sintakse copy()ir šāda:

 new_list = list.copy ()

copy () parametri

copy()Metode neveic nekādus parametrus.

Atgriezt vērtību no kopijas ()

copy()Metode atgriež jaunu sarakstu. Tas nemaina sākotnējo sarakstu.

1. piemērs: saraksta kopēšana

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

Rezultāts

 Kopēts saraksts: ('cat', 0, 6.7)

Ja jūs mainīsit jauno_ sarakstu iepriekš minētajā piemērā, mans_ saraksts netiks mainīts.

2. piemērs: Sarakstu kopēšana, izmantojot sagriešanas sintaksi

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

Rezultāts

 Vecais saraksts: ('cat', 0, 6.7) New List: ('cat', 0, 6.7, 'suns')

Interesanti raksti...