Metoden copy () returnerar en grunt kopia av listan.
En lista kan kopieras med =
operatören. Till exempel,
old_list = (1, 2, 3) new_list = old_list
Problemet med att kopiera listor på detta sätt är att om du ändrar new_list så ändras old_list också. Det beror på att den nya listan refererar till eller pekar på samma old_list-objekt.
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)
Produktion
Gammal lista: (1, 2, 3, 'a') Ny lista: (1, 2, 3, 'a')
Men om du behöver den ursprungliga listan oförändrad när den nya listan ändras kan du använda copy()
metoden.
Relaterad handledning: Python Shallow Copy Vs Deep Copy
Syntaxen för copy()
metoden är:
new_list = list.copy ()
copy () -parametrar
Den copy()
metoden tar inte några parametrar.
Returvärde från kopia ()
Den copy()
metoden returnerar en ny lista. Det ändrar inte originallistan.
Exempel 1: Kopiera en lista
# mixed list my_list = ('cat', 0, 6.7) # copying a list new_list = my_list.copy() print('Copied List:', new_list)
Produktion
Kopierad lista: ('cat', 0, 6.7)
Om du ändrar den nya listan i exemplet ovan kommer min_lista inte att ändras.
Exempel 2: Kopiera lista med skivsyntax
# 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)
Produktion
Old List: ('cat', 0, 6.7) New List: ('cat', 0, 6.7, 'dog')