Python-luettelokopio ()

Copy () -menetelmä palauttaa matalan kopion luettelosta.

Luettelo voidaan kopioida =operaattorin avulla. Esimerkiksi,

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

Luetteloiden tällä tavoin kopioinnin ongelma on, että jos muokkaat uutta_luetteloa, myös vanha_luettelo muokataan. Tämä johtuu siitä, että uusi luettelo viittaa tai osoittaa samaan old_list-objektiin.

 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)

Tuotos

 Vanha luettelo: (1, 2, 3, 'a') Uusi luettelo: (1, 2, 3, 'a')

Jos kuitenkin tarvitset alkuperäisen luettelon muuttumattomana, kun uutta luetteloa muokataan, voit käyttää copy()menetelmää.
Aiheeseen liittyvä opetusohjelma: Python Shallow Copy Vs Deep Copy

Menetelmän syntaksi copy()on:

 new_list = list.copy ()

copy () -parametrit

copy()Menetelmä ei ota parametreja.

Palautusarvo kopiosta ()

copy()Menetelmä palauttaa uuden listan. Se ei muuta alkuperäistä luetteloa.

Esimerkki 1: Luettelon kopiointi

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

Tuotos

 Kopioitu luettelo: ('kissa', 0, 6.7)

Jos muokkaat uutta_listaa yllä olevassa esimerkissä, my_list-luetteloa ei muuteta.

Esimerkki 2: Kopioi luettelo viipalointisyntaksilla

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

Tuotos

 Vanha luettelo: ('kissa', 0, 6.7) Uusi luettelo: ('kissa', 0, 6.7, 'koira')

Mielenkiintoisia artikkeleita...