Αντίγραφο λίστας Python ()

Η μέθοδος copy () επιστρέφει ένα ρηχό αντίγραφο της λίστας.

Μια λίστα μπορεί να αντιγραφεί χρησιμοποιώντας το =χειριστή. Για παράδειγμα,

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

Το πρόβλημα με την αντιγραφή λιστών με αυτόν τον τρόπο είναι ότι εάν τροποποιήσετε τη νέα λίστα, η παλιά_ λίστα τροποποιείται επίσης. Είναι επειδή η νέα λίστα αναφέρεται ή δείχνει στο ίδιο αντικείμενο old_list.

 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)

Παραγωγή

 Παλιά λίστα: (1, 2, 3, 'a') Νέα λίστα: (1, 2, 3, 'a')

Ωστόσο, εάν χρειάζεστε την αρχική λίστα αμετάβλητη όταν τροποποιείται η νέα λίστα, μπορείτε να χρησιμοποιήσετε τη copy()μέθοδο.
Σχετικό σεμινάριο: Python Shallow Copy Vs Deep Copy

Η σύνταξη της copy()μεθόδου είναι:

 new_list = list.copy ()

αντιγραφή παραμέτρων ()

Η copy()μέθοδος δεν λαμβάνει παραμέτρους.

Επιστροφή τιμής από αντίγραφο ()

Η copy()μέθοδος επιστρέφει μια νέα λίστα. Δεν τροποποιεί την αρχική λίστα.

Παράδειγμα 1: Αντιγραφή λίστας

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

Παραγωγή

 Αντιγραμμένη λίστα: ('cat', 0, 6.7)

Εάν τροποποιήσετε τη νέα λίστα στο παραπάνω παράδειγμα, η λίστα μου δεν θα τροποποιηθεί.

Παράδειγμα 2: Αντιγραφή λίστας με τη σύνταξη Slicing

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

Παραγωγή

 Παλιά λίστα: ('cat', 0, 6.7) Νέα λίστα: ('cat', 0, 6.7, 'dog')

ενδιαφέροντα άρθρα...