दोस्तों Python Tutorial में आज हम Python copying collection क्या है ( What is Python Copying Collection in Hindi ) देखेग। तो चलाइए इस post मे जानते है
INTRODUCTION
Python में assignment statement object की copy नही करता है यह target और object बीच binding करता है। जब हम " = " operator का उपयोग करते हैं तो यह new object create नही करता बल्कि एक variable बनाता है जो original object के reference को store करता है। Copying Collection से अभिप्राय एक collection को दूसरे collection मे copy करना है यह दो प्रकार के होते ।
Types of Copying Collection in python (Python Copying Collection के प्रकार)
Deep Copy
Deep copy एक ऐसी प्रक्रिया है जिसमे copy करने की प्रक्रिया recursively होती है। इसका मतलब है कि पहले एक नए object create करते हैं उसके बाद original object से new object मे item को recursively तरीके से copy किया जाता है। deep copy के case में object की copy को अन्य object मे की जाती है। इसका अर्थ है की object की copy मे किया गया change original object मे कोई परिवर्तन नही करता है। deep copy का use deepcopy() function के द्वारा किया जाता है।
Ex-
# importing "copy" for copy operations
import copy
# initializing list 1
li1 = [1, 2, [3,5], 4]
# using deepcopy to deep copy
li2 = copy.deepcopy(li1)
# original elements of list
print ("The original elements before deep copying")
for i in range(0,len(li1)):
print (li1[i],end=" ")
print("\r")
# adding and element to new list
li2[2][0] = 7
# Change is reflected in l2
print ("The new list of elements after deep copying ")
for i in range(0,len( li1)):
print (li2[i],end=" ")
print("\r")
# Change is NOT reflected in original list
# as it is a deep copy
print ("The original elements after deep copying")
for i in range(0,len( li1)):
print (li1[i],end=" ")
import copy
# initializing list 1
li1 = [1, 2, [3,5], 4]
# using deepcopy to deep copy
li2 = copy.deepcopy(li1)
# original elements of list
print ("The original elements before deep copying")
for i in range(0,len(li1)):
print (li1[i],end=" ")
print("\r")
# adding and element to new list
li2[2][0] = 7
# Change is reflected in l2
print ("The new list of elements after deep copying ")
for i in range(0,len( li1)):
print (li2[i],end=" ")
print("\r")
# Change is NOT reflected in original list
# as it is a deep copy
print ("The original elements after deep copying")
for i in range(0,len( li1)):
print (li1[i],end=" ")
Output-
The original elements before deep copying
1 2 [3, 5] 4
The new list of elements after deep copying
1 2 [7, 5] 4
The original elements after deep copying
1 2 [3, 5] 4
1 2 [3, 5] 4
The new list of elements after deep copying
1 2 [7, 5] 4
The original elements after deep copying
1 2 [3, 5] 4
Shallow Copy
Shallow copy में सबसे पहले एक new object create किया जाता है फिर original object का reference new object को दे दिया जाता है। shallow copy की प्रक्रिया recursive नहीं होती है और इसलिए ये child object की copy खुद नहीं बनाते। इसमें object का reference अन्य object में copy किया जाता है। इसका अर्थ है कि object की copy में किया गया change original object मे भी होता है। shallow copy का use copy() function के द्वारा किया जाता है।
Ex-
# importing "copy" for copy operations
import copy
# initializing list 1
li1 = [1, 2, [3,5], 4]
# using copy to shallow copy
li2 = copy.copy(li1)
# original elements of list
print ("The original elements before shallow copying")
for i in range(0,len(li1)):
print (li1[i],end=" ")
print("\r")
# adding and element to new list
li2[2][0] = 7
# checking if change is reflected
print ("The original elements after shallow copying")
for i in range(0,len( li1)):
print (li1[i],end=" ")
import copy
# initializing list 1
li1 = [1, 2, [3,5], 4]
# using copy to shallow copy
li2 = copy.copy(li1)
# original elements of list
print ("The original elements before shallow copying")
for i in range(0,len(li1)):
print (li1[i],end=" ")
print("\r")
# adding and element to new list
li2[2][0] = 7
# checking if change is reflected
print ("The original elements after shallow copying")
for i in range(0,len( li1)):
print (li1[i],end=" ")
Output-
The original elements before shallow copying
1 2 [3, 5] 4
The original elements after shallow copying
1 2 [7, 5] 4
1 2 [3, 5] 4
The original elements after shallow copying
1 2 [7, 5] 4
आज हमने क्या सीखा ?
दोस्तो आज हमने Python में Copying Collection
क्या है ( Python Copying Collection in Hindi ) के बारे मे सीखा मुझे आश है की आपको यह समझे मे आ गया होगा।
मेरी हमेशा से यह कोशिश रहती है की मै सभी लोगो को computer व coding से related सारे जानकारी आसानी से समझा सुक। यदि आपको कुछ इस post से कुछ doubt हो या फिर कोई अन्य जानकारी जाननी हो तो आप comment कर हमसे पूछ सकते है।
क्या है ( Python Copying Collection in Hindi ) के बारे मे सीखा मुझे आश है की आपको यह समझे मे आ गया होगा।
मेरी हमेशा से यह कोशिश रहती है की मै सभी लोगो को computer व coding से related सारे जानकारी आसानी से समझा सुक। यदि आपको कुछ इस post से कुछ doubt हो या फिर कोई अन्य जानकारी जाननी हो तो आप comment कर हमसे पूछ सकते है।
यदि आपको हमारे द्वारा दी गई जानकारी पसंद आए तो आप हमारे blog को अपने friends, relatives आदि को share करे ताकि सभी लोगे इसका लाभ ले सके।
आपको यह post कैसी लगी comment करे बताइए ताकि आपके द्वारा दी गए सुधार व विचार से हम अपने content मे सुधार कर सके। और कृपया इस को post social networks पर जरूर share करे।
धन्यवाद
Thank you bro
जवाब देंहटाएं