English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在本文中,您将学习Python数组,数组和列表之间的区别,以及如何以及何时使用示例来使用它们。
数组在Java,C / C ++,JavaScript等大多数编程语言中都很流行。但是,在Python中,它们并不常见。人们经常谈论Python数组时,他们谈论的是Python列表。如果您如果不知道什么是列表,则绝对应该查看قوائم بوتون文章。
我们可以将列表视为数组。但是,我们不能限制列表中存储的元素的类型。例如:
a = [1, 3.5, "Hello"]
如果使用array模块创建数组 ,则数组的所有元素必须为相同的数字类型。
import array as arr a = arr.array('d', [1, 3.5, "Hello"]) // Error
您可能从上面的示例中猜到了,我们需要导入array模块以创建数组。例如:
import array as arr a = arr.array('d', [1.1, 3.5, 4.5]) print(a)
在这里,我们创建了一个float类型数组。字母'd'是类型代码。这确定了创建过程中数组的类型。
常用的类型代码:
Code | C 类型 | Python 类型 | 最小字节 |
---|---|---|---|
'b' | signed char | int | 1 |
'B' | unsigned char | int | 1 |
'u' | Py_UNICODE | Unicode | 2 |
'h' | signed short | int | 2 |
'H' | unsigned short | int | 2 |
'i' | signed int | int | 2 |
'I' | unsigned int | int | 2 |
'l' | signed long | int | 4 |
'L' | unsigned long | int | 4 |
'f' | float | float | 4 |
'd' | double | float | 8 |
我们将不在本文中讨论不同的C类型。在整篇文章中,我们将使用两种类型代码:'i'整数和'd'浮点数。
注意:'u'自版本3.3起,不推荐使用Unicode字符的类型代码。尽可能避免使用它。
我们使用索引来访问数组的元素:
import array as arr a = arr.array('i', [2, 4, 6, 8]) print(مسمال مالتارمنم, تالمنمالتارمنمالمالتارمنمالمالتارمنم) print(مسمال مالتارمنم, تالمنمالتارمنمالمالتارمنمالمالتارمنم) print(مسمال مالتارمنم, تالمنمالتارمنمالمالتارمنمالمالتارمنم)
تذكر أن البداية من الرقم 0 (لا من الرقم 1) مثل القوائم.
يمكننا استخدام عمليات التقاطع لاستخراج سلسلة من العناصر من المجموعة:.
import array as arr numbers_list = [2, 5, 62, 5, 42, 52, 48, 5] numbers_array = arr.array('i', numbers_list) print(numbers_array[2:5]) # العناصر من الرقم 3 إلى الرقم 5 print(numbers_array[:-5]) # من البداية إلى العنصر الرابع print(numbers_array[5:]) # من العنصر السادس إلى النهاية print(numbers_array[:]) # من البداية إلى النهاية
عند تشغيل هذا البرنامج، الخروج هو:
array('i', [62, 5, 42]) array('i', [2, 5, 62]) array('i', [52, 48, 5]) array('i', [2, 5, 62, 5, 42, 52, 48, 5])
يمكن تغيير العناصر في المجموعات بشكل ديناميكي؛ العناصر يمكن تغييرها مثل القوائم.
import array as arr numbers = arr.array('i', [1, 2, 3, 5, 7, 10]) # تغيير العنصر الأول numbers[0] = 0 print(numbers) # خروج: array('i', [0, 2, 3, 5, 7, 10]) # تغيير العناصر من الرقم 3 إلى الرقم 5 numbers[2:5] = arr.array('i', [4, 6, 8]) print(numbers) # خروج: array('i', [0, 2, 4, 6, 8, 10])
يمكننا استخدام طريقة append() لإضافة عنصر إلى القائمة أو استخدام طريقة extend() لإضافة عدة عناصر إلى القائمة .
import array as arr numbers = arr.array('i', [1, 2, 3]) numbers.append(4) print(numbers) # خروج: array('i', [1, 2, 3, 4]) # extend() يضيف iterable إلى نهاية المجموعة numbers.extend([5, 6, 7]) print(numbers) # خروج: array('i', [1, 2, 3, 4, 5, 6, 7])
يمكننا استخدام عمليات الإضافة (+) لربط مجموعتين.
import array as arr odd = arr.array('i', [1, 3, 5]) even = arr.array('i', [2, 4, 6]) numbers = arr.array('i') # إنشاء مجموعة صحيحة فارغة numbers = odd + even print(numbers)
يمكننا استخدامجملة del في بوتونحذف مشروع أو مشاريع متعددة من المجموعة.
import array as arr number = arr.array('i', [1, 2, 3, 3, 4]) del number[2] # حذف العنصر الثالث print(number) # الإخراج: array('i', [1, 2, 3, 4]) del number # حذف المجموعة بأكملها print(number) # خطأ: لم يتم تعريف المجموعة
يمكننا استخدام طريقة remove() لإزالة العنصر المحدد، أو استخدام طريقة pop() لإزالة العنصر في الموقع المحدد.
import array as arr numbers = arr.array('i', [10, 11, 12, 12, 13]) numbers.remove(12) print(numbers) # الإخراج: array('i', [10, 11, 12, 13]) print(numbers.pop(2)) # الإخراج: 12 print(numbers) # الإخراج: array('i', [10, 11, 13])
القوائم أكثر مرونة بكثير من المجموعات. يمكنها تخزين عناصر أنواع بيانات مختلفة، بما في ذلك النصوص. بالإضافة إلى ذلك، القوائم أسرع من المجموعات. بالإضافة إلى ذلك، إذا كنت بحاجة إلى إجراء عمليات حسابية على المجموعات والمتجهات، فإن من الأفضل استخدامنومبيطرق مكتبات مثلها.
إلا إذا كنت بحاجة حقًا إلى المجموعات (قد تحتاج واجهة برمجة التطبيقات الخاصة بـ C إلى وحدة المجموعات)، لا تستخدمها.