dict.copy تنشئ نسخة سطحية؛ القائمة الداخلية تبقى مشتركة. [1]
الخلاصة السريعة
لا؛ استقلال القاموس لا يعني استقلال قائمته. [1]
- dict.copy تنشئ نسخة سطحية؛ القائمة الداخلية تبقى مشتركة. [1]
- النسخ السطحي ينشئ كائنًا مركبًا جديدًا، ويضع فيه مراجع إلى كائنات الأصل. [1]
- مثال مؤلف على CPython 3.12.14: d={"r":[4]}؛ c=d.copy()؛ القاموسان مختلفان والقائمة واحدة. [1]
- بعد c["r"].append(9)، تصبح قائمة كل منهما [4,9]. [1]
- ثم c["r"]=[7] يغيّر ربط النسخة فقط؛ قائمة d تبقى [4,9]. [1]
قائمة مشتركة
dict.copy تنشئ نسخة سطحية؛ القائمة الداخلية تبقى مشتركة. [1]
معنى السطحية
النسخ السطحي ينشئ كائنًا مركبًا جديدًا، ويضع فيه مراجع إلى كائنات الأصل. [1]
قاموس جديد
مثال مؤلف على CPython 3.12.14: d={"r":[4]}؛ c=d.copy()؛ القاموسان مختلفان والقائمة واحدة. [1]
c=d.copy() [1]

تعديل ثم إسناد
بعد c["r"].append(9)، تصبح قائمة كل منهما [4,9]. [1]
c["r"]=[7] [1]
ثم c["r"]=[7] يغيّر ربط النسخة فقط؛ قائمة d تبقى [4,9]. [1]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
