Subjects

All subjects Django Java Python React Spring Boot JavaScript PHP
Sign Up Free
Question 8 of 10 · Python Basics & Syntax
Interview question

What is the difference between deep copy and shallow copy in Python? Python में deep copy और shallow copy में क्या अंतर है?

Answer
TypeBehavior
Shallow copyCopies the outer object; nested objects are still shared references
Deep copyRecursively copies everything; nested objects are fully independent
import copy

original = [[1, 2], [3, 4]]

# Shallow copy - outer list is new, but inner lists are SHARED
shallow = copy.copy(original)
shallow[0].append(99)
print(original)  # [[1, 2, 99], [3, 4]] - original affected too!

# Deep copy - fully independent
original2 = [[1, 2], [3, 4]]
deep = copy.deepcopy(original2)
deep[0].append(99)
print(original2)  # [[1, 2], [3, 4]] - original untouched

# list.copy() and slicing also do SHALLOW copies
shallow2 = original2.copy()  # or original2[:]
shallow2[0].append(100)
print(original2)  # affected - same nested reference
Typeव्यवहार
Shallow copyOuter object copy होता है; nested objects shared रहते हैं
Deep copyसब कुछ recursively copy होता है; पूरी तरह independent
import copy

original = [[1, 2], [3, 4]]

# Shallow copy
shallow = copy.copy(original)
shallow[0].append(99)
print(original)  # [[1, 2, 99], [3, 4]] - original भी बदला!

# Deep copy
original2 = [[1, 2], [3, 4]]
deep = copy.deepcopy(original2)
deep[0].append(99)
print(original2)  # [[1, 2], [3, 4]] - original नहीं बदला

# list.copy() भी shallow copy है
shallow2 = original2.copy()
shallow2[0].append(100)
print(original2)  # बदल जाएगा

Was this answer clear?