تقنية

extendleft في بايثون: هل تحفظ ترتيب الدفعة؟

extendleft: دفعة 4،8 تعطي 8،4،10،20.
يسار: ترتيب معكوس.

extendleft تضيف عناصر الدفعة إلى اليسار تباعًا، فينعكس ترتيبها. [1]

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

لا؛ ترتيب الدفعة ينعكس داخل deque. [1]

  • extendleft تضيف عناصر الدفعة إلى اليسار تباعًا، فينعكس ترتيبها. [1]
  • العنصر المضاف لاحقًا إلى اليسار يسبق سابقه؛ extend تضيف إلى اليمين. [1]
  • على CPython 3.12.14، بداية [10,20] ودفعة [4,8] تعطيان [8,4,10,20] مع extendleft. [1]
  • في نسخة أخرى من البداية، extend تعطي [10,20,4,8]؛ لم تنعكس الدفعة على اليمين. [1]
  • تحكم: extendleft(reversed(batch)) تعطي [4,8,10,20] من بداية جديدة؛ batch تبقى [4,8]؛ الأمثلة بلا حد أقصى للطول. [1]

إضافة متتابعة

extendleft تضيف عناصر الدفعة إلى اليسار تباعًا، فينعكس ترتيبها. [1]

موضع العنصر التالي

العنصر المضاف لاحقًا إلى اليسار يسبق سابقه؛ extend تضيف إلى اليمين. [1]

دفعة إلى اليسار

على CPython 3.12.14، بداية [10,20] ودفعة [4,8] تعطيان [8,4,10,20] مع extendleft. [1]

from collections import deque batch=[4,8] left=deque([10,20]);right=deque([10,20]) left.extendleft(batch);right.extend(batch) print(list(left),list(right)) [1]

extend: دفعة 4،8 تعطي 10،20،4،8.
يمين: ترتيب محفوظ.

اليمين والتحكم

في نسخة أخرى من البداية، extend تعطي [10,20,4,8]؛ لم تنعكس الدفعة على اليمين. [1]

control=deque([10,20]) control.extendleft(reversed(batch)) print(list(control),batch) [1]

تحكم: extendleft(reversed(batch)) تعطي [4,8,10,20] من بداية جديدة؛ batch تبقى [4,8]؛ الأمثلة بلا حد أقصى للطول. [1]

المراجع

  1. Python deque

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

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