A copy () metódus a lista sekély példányát adja vissza.
A lista másolható az =
operátor segítségével. Például,
old_list = (1, 2, 3) új_lista = régi_lista
A listák ilyen módon történő másolásával az a probléma, hogy ha módosítja az új_listát, akkor a régi_lista is módosul. Az új lista ugyanarra a régi_lista objektumra hivatkozik vagy mutat rá.
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)
Kimenet
Régi lista: (1, 2, 3, 'a') Új lista: (1, 2, 3, 'a')
Azonban, ha az eredeti listának az új lista módosításakor változatlanra van szüksége, használhatja a copy()
módszert.
Kapcsolódó oktatóanyag: Python Sekély Másolás Vs Mély Másolás
A copy()
módszer szintaxisa :
new_list = list.copy ()
copy () paraméterek
A copy()
módszer nem tartalmaz paramétereket.
Visszaérték másolatból ()
A copy()
metódus új listát ad vissza. Ez nem módosítja az eredeti listát.
1. példa: Lista másolása
# mixed list my_list = ('cat', 0, 6.7) # copying a list new_list = my_list.copy() print('Copied List:', new_list)
Kimenet
Másolt lista: ('macska', 0, 6.7)
Ha a fenti példában módosítja az új_listát, akkor a my_list nem módosul.
2. példa: Lista másolása szeletelési szintaxissal
# 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)
Kimenet
Régi lista: ('macska', 0, 6.7) Új lista: ('macska', 0, 6.7, 'kutya')