🔹 خیلی از دولوپرهای پایتون تفاوت بین کپی معمولی و دیپکپی رو نمیدونن و وقتی دیتای یک دیکشنری یا لیست تو در تو رو کپی میکنن، با تغییر مقدار یکی، اون یکی هم ناخواسته تغییر میکنه. خروجی کد زیر رو بررسی کن:
original = [[1, 2], [3, 4]]
shallow_copy = list(original)
shallow_copy[0][0] = 999
print(original[0][0])
🔹 خروجی عدد ۹۹۹ خواهد بود نه عدد ۱! دلیلش اینه که متد کپی سطحی فقط رفرنس لیستهای داخلی رو کپی میکنه. اگر میخوای کپی کاملاً ایزولهای بسازی که با تغییر دادنش آسیبی به اصل داده نرسه، باید از متد دیپکپی در ماژول استاندارد کپی استفاده کنی.
🐍 @python_rd