القائمة تقبل أي خليط من القيم: [2, 2, 1, "Caution", 2]. لكن إذا كانت البيانات أرقامًا فقط، مثل مستويات التحذير، فالأفضل أن نمنع دخول أي نوع آخر بالخطأ. هذا ما تفعله المصفوفة: كل قيمها من نوع واحد.
import array
warn_array = array.array('i', [2, 2, 1, 1, 2, 1, 2])
print(warn_array[0])
print(warn_array[5])
print(len(warn_array))2 1 7
| الجزء | معناه |
|---|---|
| import array | نستورد مكتبة المصفوفات |
| array.array(...) | ننشئ مصفوفة |
| 'i' | نوع القيم: أعداد صحيحة (integer) |
| [2, 2, 1, ...] | القيم نفسها |
نستخدم المصفوفة مثل القائمة تمامًا: الترقيم يبدأ من 0، وlen() تعطي عدد القيم، وfor تمرّ على القيم:
import array
day_array = array.array('i', [2, 3, 4, 5, 6, 7, 1])
print(day_array)
for day in day_array:
print(day)array('i', [2, 3, 4, 5, 6, 7, 1])
2
3
4
5
6
7
1 إذا حاولنا وضع نص في مصفوفة 'i' يرفض Python ويظهر خطأ:
import array
warn_array = array.array('i', [2, 1, "Caution"])
print(warn_array)TypeError: 'str' object cannot be interpreted as an integer
import array في أول البرنامج، ولا تنسَ نوع القيم 'i' قبل القوسين المربعين. وللأعداد العشرية نستخدم النوع 'd'.مصفوفات numpy
مكتبة numpy مصممة للحسابات على أرقام كثيرة. ميزتها أن العملية الحسابية على المصفوفة تُطبَّق على كل قيمة فيها مرة واحدة، بدون حلقة:
import numpy score_array = numpy.array([42, 58, 71]) bonus_array = score_array + 5 print(bonus_array) print(score_array * 2)
[47 63 76] [ 84 116 142]
[47 63 76]. ومع القائمة العادية [42, 58, 71] + 5 يظهر خطأ؛ فإضافة رقم لكل القيم ميزة numpy.تدريبات
الأسبوع الذي يبدأ بالثلاثاء أرقامه 2، 3، 4، 5، 6، 7، 1. أسندها إلى المصفوفة day_array (أعداد صحيحة)، ثم اطبع العنصر رقم 0 ثم العنصر رقم 6.
import array
اضغط «تشغيل» لترى النتيجة. اطبع طول المصفوفة warn_array.
import array
warn_array = array.array('i', [2, 2, 1, 1, 2, 1, 2])
اضغط «تشغيل» لترى النتيجة. في البرنامج خطآن: الاستيراد ناقص، وإنشاء المصفوفة ناقص. صحّحهما ليطبع 2 ثم 1.
import
day_array = ('i', [2, 3, 4, 5, 6, 7, 1])
print(day_array[0])
print(day_array[6])اضغط «تشغيل» لترى النتيجة. أسند إلى round_array مصفوفة أعداد صحيحة بالقيم 1، 2، 3، 4، 5، فيُطبع العنصران رقم 1 ورقم 4.
import array round_array = ___ print(round_array[1]) print(round_array[4])
اضغط «تشغيل» لترى النتيجة. عدد خطوات مشيتها في 5 أيام محفوظ في steps_array. اجمعها بحلقة for واطبع Total: 29700.
import array
steps_array = array.array('i', [4200, 6500, 3900, 8000, 7100])
اضغط «تشغيل» لترى النتيجة. أسعار ثلاث وجبات في الكافيتريا 120 و 80 و 45 جنيهًا، وكل سعر سيزيد 15 جنيهًا. أنشئ price_array بـ numpy، ثم أنشئ new_array بإضافة 15 للمصفوفة واطبعها.
import numpy
اضغط «تشغيل» لترى النتيجة. النقاط الرئيسية
import arrayثمarray.array('i', [...])مصفوفة أعداد صحيحة فقط.- نستخرج القيم بالترقيم من 0، ونعرف عددها بـ
len()كما في القوائم. - في
numpy.arrayالعملية الحسابية تُطبَّق على كل القيم مرة واحدة.