copy.copy(): نسخة سطحية. القائمة الخارجية جديدة، لكن العناصر الداخلية مشتركة مع الأصل.copy.deepcopy(): نسخة عميقة. كل شيء يُنسخ من جديد، حتى الداخلي.
import copy
original = [[1, 2], [3, 4]]
shallow = copy.copy(original)
deep = copy.deepcopy(original)
original[0].append(99)
print(shallow) # [[1, 2, 99], [3, 4]] shared inner list
print(deep) # [[1, 2], [3, 4]] fully separate
متى أحتاج deepcopy؟
عندما تحتوي البيانات على قوائم أو قواميس داخل بعضها، وتريد تعديل النسخة دون أن يتأثر الأصل. وهي أبطأ من copy لأنها تنسخ كل شيء.