Get The Most Affordable Hosting in the World!

Starting at just $1.87/month, Vercaa offers unbeatable pricing for world-class web hosting services.

Fast, reliable, and secure hosting to power your website without breaking the bank. Plus, enjoy a free CDN for faster loading times worldwide!

Get Started Now!

In Python, a variable is just a label or reference to the object in the memory. Hence, the assignment "lst1 = lst" refers to the same list object in the memory. Take a look at the following example −

 
lst = [10, 20] print ("lst:", lst, "id(lst):",id(lst)) lst1 = lst print ("lst1:", lst1, "id(lst1):",id(lst1))

It will produce the following output −

lst: [10, 20] id(lst): 1677677188288
lst1: [10, 20] id(lst1): 1677677188288

As a result, if we update "lst", it will automatically reflect in "lst1". Change lst[0] to 100

lst[0]=100 print ("lst:", lst, "id(lst):",id(lst)) print ("lst1:", lst1, "id(lst1):",id(lst1))

It will produce the following output −

lst: [100, 20] id(lst): 1677677188288
lst1: [100, 20] id(lst1): 1677677188288

Hence, we can say that "lst1" is not the physical copy of "lst".

Using the Copy Method of List Class

Python's list class has a copy() method to create a new physical copy of a list object.

Syntax

lst1 = lst.copy()

The new list object will have a different id() value. The following example demonstrates this −

lst = [10, 20] lst1 = lst.copy() print ("lst:", lst, "id(lst):",id(lst)) print ("lst1:", lst1, "id(lst1):",id(lst1))

It will produce the following output −

lst: [10, 20] id(lst): 1677678705472
lst1: [10, 20] id(lst1): 1677678706304

Even if the two lists have same data, they have different id() value, hence they are two different objects and "lst1" is a copy of "lst".

If we try to modify "lst", it will not reflect in "lst1". See the following example −

lst[0]=100 print ("lst:", lst, "id(lst):",id(lst)) print ("lst1:", lst1, "id(lst1):",id(lst1))

It will produce the following output −

lst: [100, 20] id(lst): 1677678705472
lst1: [10, 20] id(lst1): 1677678706304



The End! should you have any inquiries, we encourage you to reach out to the Vercaa Support Center without hesitation.
Помог ли вам данный ответ? 1 Пользователи нашли это полезным (1 голосов)