تقنية

جمع deque في بايثون: أي سعة يحملها الناتج؟

deque +; own:["bud"],maxlen2; right:["leaf","twig"],maxlen4; own+right:["leaf","twig"],maxlen2; operands unchanged
أيسر محدود.

جمع deque في مثالنا يحتفظ بسعة الطرف الأيسر. [2]

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

سعة الأيسر هنا، لا مجموع السعتين. [2]

  • جمع deque في مثالنا يحتفظ بسعة الطرف الأيسر. [2]
  • على CPython 3.12.14، own تحتوي "bud" بسعة 2، وright تحتوي "leaf","twig" بسعة 4؛ كلاهما deque عادية. [1] [2]
  • own+right تعطي ["leaf","twig"] بسعة 2؛ "bud" تخرج من الناتج المحدود، والمدخلان يبقيان كما كانا. [1] [2]
  • التنفيذ ينسخ الطرف الأيسر بسعته، ثم يضيف عناصر الأيمن إلى النسخة. هذا جمع + لا تعديل +=. [2]
  • تحكم بمدخلين جديدين وبترتيب معكوس: left2 بسعة 4 وright2 بسعة 2؛ الناتج ["leaf","twig","bud"] بسعة 4. لا نختبر أصنافًا فرعية أو تزامنًا. [2]

السعة

جمع deque في مثالنا يحتفظ بسعة الطرف الأيسر. [2]

المدخلان

على CPython 3.12.14، own تحتوي "bud" بسعة 2، وright تحتوي "leaf","twig" بسعة 4؛ كلاهما deque عادية. [1] [2]

الأيسر المحدود

own+right تعطي ["leaf","twig"] بسعة 2؛ "bud" تخرج من الناتج المحدود، والمدخلان يبقيان كما كانا. [1] [2]

from collections import deque own=deque(["bud"],maxlen=2) right=deque(["leaf","twig"],maxlen=4) result=own+right print(list(result),result.maxlen) print(list(own),list(right)) [1] [2]

deque +; left2:["leaf","twig"],maxlen4; right2:["bud"],maxlen2; left2+right2:["leaf","twig","bud"],maxlen4
ترتيب معكوس.

النسخ والتحكم

التنفيذ ينسخ الطرف الأيسر بسعته، ثم يضيف عناصر الأيمن إلى النسخة. هذا جمع + لا تعديل +=. [2]

left2=deque(["leaf","twig"],maxlen=4) right2=deque(["bud"],maxlen=2) control=left2+right2 print(list(control),control.maxlen) [1] [2]

تحكم بمدخلين جديدين وبترتيب معكوس: left2 بسعة 4 وright2 بسعة 2؛ الناتج ["leaf","twig","bud"] بسعة 4. لا نختبر أصنافًا فرعية أو تزامنًا. [2]

المراجع

  1. Python deque
  2. CPython collections

للتوسع: لغات البرمجة.

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