ChainMap تبحث عن القيمة من الخريطة الأولى؛ ترتيب اجتياز المفاتيح يمسح الخرائط من الأخيرة إلى الأولى. [1]
الخلاصة السريعة
لا؛ ترتيب الاجتياز وأولوية العثور على القيمة قاعدتان مختلفتان. [1]
- ChainMap تبحث عن القيمة من الخريطة الأولى؛ ترتيب اجتياز المفاتيح يمسح الخرائط من الأخيرة إلى الأولى. [1]
- تتوقف القراءة عند أول خريطة تحتوي المفتاح؛ لا تختار القيمة بحسب موضع المفتاح في الاجتياز. [1]
- على CPython 3.12.14، first={"x":1,"y":2} وsecond={"y":8,"z":9} تعطيان مفاتيح y,z,x في ChainMap(first,second). [1]
- رغم بدء الاجتياز بـy من ترتيب second، chain["y"] تعيد 2 من first؛ items تعطي الأزواج y:2 ثم z:9 ثم x:1. [1]
- تحكم: ChainMap(second,first) تعطي مفاتيح x,y,z وقيمة y تساوي 8؛ القاموسان لم يتغيرا. [1]
اتجاها الاجتياز والبحث
ChainMap تبحث عن القيمة من الخريطة الأولى؛ ترتيب اجتياز المفاتيح يمسح الخرائط من الأخيرة إلى الأولى. [1]
اختيار القيمة
تتوقف القراءة عند أول خريطة تحتوي المفتاح؛ لا تختار القيمة بحسب موضع المفتاح في الاجتياز. [1]
مفتاح في قاموسين
على CPython 3.12.14، first={"x":1,"y":2} وsecond={"y":8,"z":9} تعطيان مفاتيح y,z,x في ChainMap(first,second). [1]
from collections import ChainMap first={"x":1,"y":2};second={"y":8,"z":9} chain=ChainMap(first,second) print(list(chain)) print(list(chain.items())) [1]

الأزواج والتحكم
رغم بدء الاجتياز بـy من ترتيب second، chain["y"] تعيد 2 من first؛ items تعطي الأزواج y:2 ثم z:9 ثم x:1. [1]
control=ChainMap(second,first) print(list(control),control["y"]) [1]
تحكم: ChainMap(second,first) تعطي مفاتيح x,y,z وقيمة y تساوي 8؛ القاموسان لم يتغيرا. [1]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
