تقنية

ChainMap في بايثون: أين تذهب كتابة المفتاح؟

قراءة n: قبل الكتابة 6، وبعدها 9.
القراءة قبل الكتابة وبعدها.

ChainMap تكتب وتحذف من القاموس الأول فقط. [1]

الخلاصة السريعة

موضع القراءة لا يحدد موضع الكتابة. [1]

  • البحث يبدأ بالقاموس الأول ويتوقف عند أول قاموس يحتوي المفتاح. [1]
  • ChainMap تكتب وتحذف من القاموس الأول فقط. [1]
  • مثال مؤلف شُغّل على CPython 3.12.14 مع from collections import ChainMap؛ a={} وb={"n":6} وc=ChainMap(a,b): c["n"] تعطي 6. [1]
  • بعد c["n"]=9 يصبح a={"n":9}، ويبقى b={"n":6}؛ القراءة من c تعطي 9. [1]
  • بعد del c["n"] يصبح a فارغًا وتعود القراءة إلى 6 من b؛ الخطوات متسلسلة. [1]

البحث عن المفتاح

البحث يبدأ بالقاموس الأول ويتوقف عند أول قاموس يحتوي المفتاح. [1]

وجهة الكتابة

ChainMap تكتب وتحذف من القاموس الأول فقط. [1]

قبل الكتابة

مثال مؤلف شُغّل على CPython 3.12.14 مع from collections import ChainMap؛ a={} وb={"n":6} وc=ChainMap(a,b): c["n"] تعطي 6. [1]

c["n"] -> 6 [1]

بعد الكتابة والحذف، قراءات n بالترتيب 6 و9 و6؛ b ثابت.
الأصل الثاني يبقى كما هو.

الكتابة ثم الحذف

بعد c["n"]=9 يصبح a={"n":9}، ويبقى b={"n":6}؛ القراءة من c تعطي 9. [1]

c["n"]=9 -> a:{"n":9} [1]

بعد del c["n"] يصبح a فارغًا وتعود القراءة إلى 6 من b؛ الخطوات متسلسلة. [1]

المراجع

  1. Python — ChainMap في 3.12

للتوسع: قاموس بيانات.

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.