EDUCBA Logo

EDUCBA

MENUMENU
  • Explore
    • EDUCBA Pro
    • PRO Bundles
    • Featured Skills
    • New & Trending
    • Fresh Entries
    • Finance
    • Data Science
    • Programming and Dev
    • Excel
    • Marketing
    • HR
    • PDP
    • VFX and Design
    • Project Management
    • Exam Prep
    • All Courses
  • Blog
  • Enterprise
  • Free Courses
  • Log in
  • Sign Up
Home Software Development Software Development Tutorials Python Lists Tutorial Copy List in Python
 

Copy List in Python

Priya Pedamkar
Article byPriya Pedamkar

copy list in python

Introduction to Copy List in Python

In python, a Copy list is a function employed on the lists that hold multiple variables/ values. The copy function’s operation is basically that the elements of an already existing list can be copied to a newly created empty list. This copy function can be achieved by using the four types of logical patterns, like using the assignment operator for assigning the values from an existing list to a new list, a method specific to python referred to as shallow copy, Deep copy for copying in multiple occurrences, and copying using the constructor.

 

 

How to Copy List in Python?

Copying a list can be done in four ways:

Watch our Demo Courses and Videos

Valuation, Hadoop, Excel, Mobile Apps, Web Development & many more.

1. Assignment Operator

Code:

a = [2,5,4,3,6,1]
print(a)
b = a
print(b)
a[0] = 10
print(a)
print(b)

Output:

Copy List in Python - 1

Explanation to the above code: In the above example, we have created a list and assigned it to the variable ‘a’. Now we have assigned this same list to variable b. Now, if we print list b, we get the same values. Now we changed the first element of the list ‘a’. Print list ‘a’ to check the updated values. Now we if print the list ‘b’, we can see that the values of list ‘b’ are also changed. In this case, values are not copied, both the variable is just referring to the same object.

2. Copy Using Constructor

Now to avoid the above problem, we can use the list constructor to copy the list.

Code:

a = [2,5,4,3,6,1]
print(a)
b = list(a)
print(b)
a[0] = 10
print(a)
print(b)

Output:

Copy List in Python - 2

Explanation to the above code: In the above example, we have created a list ‘a’ and assigned it to list ‘b’ using the list constructor. If we change the value of the list ‘a’, the list ‘b’ values are not going to change; now, we can say the list is copied.

3. Shallow Copy

Shallow copy is a somewhat similar assignment operator. It also creates a new object that is storing the reference of the old list instead of copying the items. To make use of shallow copy, we have to import the copy module.

Code:

import copy
a = [[1,2,3],[4,5,6],[7,8,9]]
print(a)
b = copy.copy(a)
print(b)
a.append(['a','b','c'])
print(a)
print(b)
a[1][2] = 10
print(a)
print(b)

Output:

Shallow Copy

Explanation to the above code: In the above program, you can see that we have created a nested list ‘a’ and then we have assigned it to the list ‘b’ using copy. Copy function. When we print the list ‘b’, we can see that all the values of ‘a’, as it is pointing to all the elements of the list ‘a’.

Now we have appended the new list into the list ‘a’. Now we print the list ‘b’; we don’t find the new list that was appended. It’s because it’s still pointing to the old list reference. It won’t have any information about the newly added element done by after copy command. Now, if we try to change the list element that also exists in list b, you might see the change in list b as well because it has all the references of the old except that, was added later.

4. Deep Copy

In deep copy also, we have to import the copy module to make it work. A deep copy creates a new object and recursively keeps adding copies of the nested elements present in the old list to the new list.

Code:

import copy
a = [[1,2,3],[4,5,6],[7,8,9]]
print(a)
b = copy.deepcopy(a)
print(b)
a.append(['a','b','c'])
print(a)
print(b)
a[1][2] = 10
print(a)
print(b)

Output:

Deep Copy

Explanation to the above code: In the above program, you can see that we have created a list ‘a’ and copied the list ‘a’ to the list ‘b’ using copy. deepcopy command. Now we print the list ‘b’; we can see that all the elements of the list are now copied. Now we can try to append a new list into the list ‘a’. If we print the list ‘b’, we can see that new elements exist. If we try to change the element that exists before copying, then also the element is not changed into the list ‘b’. So if we make any changes into the list ‘a’, no change will be reflected in the list ‘b’ because instead of referencing the object, values of the old list are copied recursively into the new list, and both the list have new object ids.

Conclusion

These list methods are very useful in python. Which method has to be used depends upon the requirement or the task we are performing. Suppose we have the list that should be used all over the system, then we can make use of shallow copy so that one change can reflect the entire system.

Recommended Articles

This is a guide to Copy List in Python. Here we discuss how to copy the list in python in four ways using respective examples.  You can also go through our other related articles to learn more –

  1. List Method in Python
  2. Iterators in Python
  3. Overriding in Python
  4. Stack in Python

Primary Sidebar

Footer

Follow us!
  • EDUCBA FacebookEDUCBA TwitterEDUCBA LinkedINEDUCBA Instagram
  • EDUCBA YoutubeEDUCBA CourseraEDUCBA Udemy
APPS
EDUCBA Android AppEDUCBA iOS App
Blog
  • Blog
  • Free Tutorials
  • About us
  • Contact us
  • Log in
Courses
  • Enterprise Solutions
  • Free Courses
  • Explore Programs
  • All Courses
  • All in One Bundles
  • Sign up
Email
  • [email protected]

ISO 10004:2018 & ISO 9001:2015 Certified

© 2025 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

By continuing above step, you agree to our Terms of Use and Privacy Policy.
*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA Login

Forgot Password?

Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more

🚀 Limited Time Offer! - ENROLL NOW