English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل الأساسيات لـ Python

تحكم العملية في Python

الوظائف في Python

أنواع البيانات في Python

عمليات ملفات Python

الأشياء والفئات في Python

تاريخ وتوقيت Python

Python المعرفة المتقدمة

Python 参考手册

ال جداول في Python

在本文中,您将学习Python数组,数组和列表之间的区别,以及如何以及何时使用示例来使用它们。

在编程中,数组是相同类型的元素的集合。

数组在Java,C / C ++,JavaScript等大多数编程语言中都很流行。但是,在Python中,它们并不常见。人们经常谈论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'是类型代码。这确定了创建过程中数组的类型。

常用的类型代码:

CodeC 类型Python 类型最小字节
'b'signed charint1
'B'unsigned charint1
'u'Py_UNICODEUnicode2
'h'signed shortint2
'H'unsigned shortint2
'i'signed intint2
'I'unsigned intint2
'l'signed longint4
'L'unsigned longint4
'f'floatfloat4
'd'doublefloat8

我们将不在本文中讨论不同的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 إلى وحدة المجموعات)، لا تستخدمها.