تقنية

UserDict في بايثون: هل popitem يحذف آخر مدخل؟

حذف أول زوج bud وقيمته 7
الزوج المعاد. [1] [2] [3]

اسم الطريقة لا يحسم ترتيب الاختيار في كل كائن. [1] [2] [3]

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

لا؛ UserDict في مثالنا يحذف bud، أول مدخل. [1] [2] [3]

  • نضيف bud=7 ثم leaf=9. [1] [2] [3]
  • الناتج المحذوف ("bud",7). [1] [2] [3]
  • قائمة المفاتيح الباقية ["leaf"]. [1] [2] [3]
  • الطريقة الموروثة تختار أول مفتاح من المكرر. [1] [2] [3]
  • الفارغ يرفع KeyError؛ اختبرنا 3.12.14 دون تعميم على الأصناف المشتقة. [1] [2] [3]

المثال

from collections import UserDict
q=UserDict()
q['bud']=7
q['leaf']=9
print(q.popitem())
print(list(q))

[1] [2] [3]

الإرجاع والحذف

المصدر هنا يأخذ next(iter(self))، ثم يقرأ القيمة ويحذف المفتاح ويعيد الزوج. لذلك يعود bud بقيمته، ويبقى leaf في كائننا؛ الإرجاع لا يعني بقاء الزوج المحذوف. [1] [2] [3]

بقاء مفتاح leaf وحده
المفتاح الباقي. [1] [2] [3]

النطاق

الكائن هنا UserDict عادي. عند فراغه ترفع الطريقة KeyError. تغيير ترتيب التكرار في صنف مشتق قد يغير المفتاح المختار؛ لا ننقل النتيجة لكل طريقة اسمها popitem. [1] [2] [3]

المراجع

  1. Python 3.12: UserDict
  2. CPython 3.12.14: MutableMapping.popitem
  3. CPython 3.12.14: UserDict class
  4. موضوع تك: لغة بايثون — مفردات
  5. موضوع تك: تطبيقات بايثون — مفردات

للتوسع: بحث عن لغات البرمجة

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