fromlist لا تترك الإضافة الجزئية في مثالنا؛ extend تتركها. [1] [2]
الخلاصة السريعة
- fromlist لا تترك الإضافة الجزئية في مثالنا؛ extend تتركها. [1] [2]
- على CPython 3.12.14، own=array("i",[4]) وbatch=[8,"leaf"]؛ النص يسبب TypeError هنا. [1] [2]
- بعد own.fromlist(batch)، تلتقط except الخطأ وتظل قيم own هي [4]. [1] [2]
- التنفيذ المثبت يحفظ الحجم القديم ويرجعه عند فشل تعيين عنصر؛ extend تضيف عناصر القائمة تباعًا. [1] [2]
- تحكم جديد: control=array("i",[4]) وcontrol_batch=[8,"leaf"]؛ control.extend(control_batch) ترفع TypeError وتترك [4,8]؛ القائمتان لم تتغيرا. مصفوفتان عاديتان دون عروض أو تحويلات مخصصة. [1] [2]
التراجع
fromlist لا تترك الإضافة الجزئية في مثالنا؛ extend تتركها. [1] [2]
المدخل
على CPython 3.12.14، own=array("i",[4]) وbatch=[8,"leaf"]؛ النص يسبب TypeError هنا. [1] [2]
بعد الخطأ
بعد own.fromlist(batch)، تلتقط except الخطأ وتظل قيم own هي [4]. [1] [2]
from array import array own=array("i",[4]);batch=[8,"leaf"] try:own.fromlist(batch) except TypeError:print(list(own)) [1] [2]
![array.extend; control:array("i",[4]); control_batch:[8,"leaf"]; control.extend(control_batch); TypeError; after:[4,8]](https://images.bahralolom.com/assets/local-2000-20261012/BA-1732/python-array-fromlist-rollback-values.png)
التنفيذ والتحكم
التنفيذ المثبت يحفظ الحجم القديم ويرجعه عند فشل تعيين عنصر؛ extend تضيف عناصر القائمة تباعًا. [1] [2]
control=array("i",[4]);control_batch=[8,"leaf"] try:control.extend(control_batch) except TypeError:print(list(control)) [1] [2]
تحكم جديد: control=array("i",[4]) وcontrol_batch=[8,"leaf"]؛ control.extend(control_batch) ترفع TypeError وتترك [4,8]؛ القائمتان لم تتغيرا. مصفوفتان عاديتان دون عروض أو تحويلات مخصصة. [1] [2]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
![array.fromlist; own:array("i",[4]); batch:[8,"leaf"]; own.fromlist(batch); TypeError; after:[4]](https://images.bahralolom.com/assets/local-2000-20261012/BA-1732/python-array-fromlist-rollback-main.png)