تقنية

deque في بايثون: الإضافة والإدراج عند امتلاء السعة

من [4,8,12] بسعة 3: append(16) تنتج [8,12,16]؛ insert(1,16) ترفع IndexError.
نسختان منفصلتان.

عند امتلاء deque محدودة السعة، append تحذف من الطرف المقابل؛ insert ترفع IndexError إذا تجاوز الإدراج maxlen. [1]

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

اختر العملية بحسب سلوكها عند الامتلاء. [1]

  • maxlen تحدد الحد الأقصى لطول deque. [1]
  • append تضيف إلى اليمين، وتحذف من اليسار عند الامتلاء. [1]
  • مثال مؤلف شُغّل على CPython 3.12.14 مع from collections import deque؛ نبدأ بـ deque([4,8,12],maxlen=3): بعد append(16) تصبح [8,12,16]. [1]
  • في نسخة أخرى من البداية نفسها، insert(1,16) ترفع IndexError وتبقى [4,8,12] في المثال. [1]
  • التجربتان على نسختين منفصلتين؛ لا ننفذ insert بعد append ولا نختبر التزامن. [1]

حد الطول

maxlen تحدد الحد الأقصى لطول deque. [1]

الإضافة إلى الطرف

append تضيف إلى اليمين، وتحذف من اليسار عند الامتلاء. [1]

تجربة الإضافة

مثال مؤلف شُغّل على CPython 3.12.14 مع from collections import deque؛ نبدأ بـ deque([4,8,12],maxlen=3): بعد append(16) تصبح [8,12,16]. [1]

append(16) -> [8,12,16] [1]

الإضافة تخرج 4 وتدخل 16؛ بعد الإدراج المرفوض تبقى [4,8,12].
العناصر بعد كل تجربة.

تجربة الإدراج

في نسخة أخرى من البداية نفسها، insert(1,16) ترفع IndexError وتبقى [4,8,12] في المثال. [1]

insert(1,16) -> IndexError [1]

التجربتان على نسختين منفصلتين؛ لا ننفذ insert بعد append ولا نختبر التزامن. [1]

المراجع

  1. Python — deque في 3.12

للتوسع: موضع الإدراج.

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