Python .copy()
Published Jun 4, 2021Updated Oct 13, 2023
Contribute to Docs
Returns a shallow copy of a list.
Syntax
list2 = list1.copy()
The .copy() method has no parameters.
Example
A Python list can be copied using the = assignment operator:
list1 = [1, 2, 3, 4]list2 = list1print(list1) # Output: [1, 2, 3, 4]print(list2) # Output: [1, 2, 3, 4]
However, if you modify list2, list1 is also modified. This is because list2 is actually pointing to the list1 object.
If you want the original list unchanged when the new list is modified, you can use the .copy() method.
Copying the orders list using .copy() method:
Now if you change new_orders, orders stays the same.
Shallow Copy
If you are copying nested lists, shallow copy means if you modify any of the new nested list elements, changes are reflected in both the new and old lists as they point to the same reference. Whereas in deep copy, if you modify any of the new nested list elements, only the new list changes.
Contribute to Docs
- Learn more about how to get involved.
- Edit this page on GitHub to fix an error or make an improvement.
- Submit feedback to let us know how we can improve Docs.
Learn Python on Codecademy
- Looking for an introduction to the theory behind programming? Master Python while learning data structures, algorithms, and more!
- Includes 6 Courses
- With Professional Certification
- Beginner Friendly.75 hours
- Machine Learning Data Scientists solve problems at scale, make predictions, find patterns, and more! They use Python, SQL, and algorithms.
- Includes 27 Courses
- With Professional Certification
- Beginner Friendly.95 hours