Theme
Primary Color

الفرق بين copy و deepcopy مع القوائم المتداخلة

نسخ قائمة فيها قوائم داخلية بإستخدام copy بينشئ قائمة خارجية جديدة لكن القوائم الداخلية بتفضل مشتركة

النسخة السطحية بإستخدام copy

تعديل عنصر في القائمة الداخلية للنسخة بيظهر في الأصل لأنها نفس القائمة الداخلية

original = [[1, 2], [3, 4]]
copied = original.copy()
copied[0][0] = 99
print(original)

النتيجة

[[99, 2], [3, 4]]

نسخ القوائم الداخلية بإستخدام deepcopy

في المثال ده deepcopy بتنسخ القوائم الداخلية كمان وبتخلي التعديل مستقل عن الأصل

from copy import deepcopy

original = [[1, 2], [3, 4]]
copied = deepcopy(original)
copied[0][0] = 99
print(original)
print(copied)

النتيجة

[[1, 2], [3, 4]]
[[99, 2], [3, 4]]
python شرح