استخدام القوائم في لغة بايثون Python

معظم هياكل البيانات الأساسية في لغة البرمجة Python هي عمليات تسلسل. يتم تعيين كل عنصر من عناصر تسلسل عدد أو موقع أو مؤشر. المؤشر الأول هو صفر، والثاني هو واحد، وهكذا دواليك.

يوجد في لغة البرمجة Python ستة أنواع من المتتاليات المدمجة، ولكن أكثرها شيوعا هي القوائم والصفوف.

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


القوائم في Python

تعتبر القائمة من أنواع البيانات الأكثر تنوعاً والمتاحة في Python والتي يمكن أن تكون مكتوبة على شكل قائمة من القيم مفصولة بفواصل ومحصورة بين قوسين معقوفين.

الشيء المهم حول قائمة هو أن العناصر الموجودة فيها لا يلزم أن يكون من نفس النوع. كما أن إنشاء قائمة أمر بسيط يتم بوضع قيم مفصولة بفواصل مختلفة بين أقواس معقوفة. مثال-

list1 = ['physics', 'chemistry', 1997, 2000];

list2 = [1, 2, 3, 4, 5 ];

list3 = ["a", "b", "c", "d"];

على غرار سلسلة الأرقام القياسية، مؤشرات القائمة تبدأ عند ال0، ويمكن أخذ شرائح من القوائم، وهلم جرا.


الوصول إلى القيم في القوائم

للوصول إلى القيم في القوائم، يتم استخدام الأقواس المربعة جنباً إلى جنب مع مؤشر أو مؤشرات للحصول على القيمة المتاحة في ذلك مؤشر. مثال-

#!/usr/bin/python 

list1=['physics','chemistry',1997,2000];
list2=[1,2,3,4,5,6,7]; 

print"list1[0]: ", list1[0]
print"list2[1:5]: ", list2[1:5]

فتظهر النتيجة التالية

list1[0]:  physics
list2[1:5]:  [2, 3, 4, 5]

تحديث القوائم

يمكنك تحديث العناصر في قائمة واحدة أو عدة قوائم بإعطاء شريحة على الجانب الأيسر من عامل التعيين,يمكنك إضافة لعناصر في قائمة مع أسلوب append(). مثال

#!/usr/bin/python 

list=['physics','chemistry',1997,2000]; 
print"Value available at index 2 : "
print list[2];

list[2]=2001;
print"New value available at index 2 : "
print list[2];

ملاحظة: ستتم مناقشة أسلوب الإلحاق في فصلٍ قادم

عند تطبيق المثال السابق تظهر النتيجة التالية

Value available at index 2 :
1997
New value available at index 2 :
2001

حذف عناصر القائمة

لإزالة عنصر من القائمة، يمكن استخدام أي تعليمة del إذا كان المستخدم يعرف بالضبط العنصر المراد حذفه أو يتم استخدام طريقة remove() إذا كان المستخدم لايعرف. مثال-

#!/usr/bin/python 

list1=['physics','chemistry',1997,2000]; 
print list1;
del list1[2];
print"After deleting value at index 2 : "
print list1;

فتظهر النتيجة التالية

['physics', 'chemistry', 1997, 2000]
After deleting value at index 2 :
['physics', 'chemistry', 2000]

العمليات الأساسية في القائمة

تستجيب القوائم لعمليات الضرب والجمع بفاعلية أكبر من السلاسل. المقصود بذلك بذلك السلسلة والتكرار هنا أيضاً، إلا أن النتيجة هي قائمة جديدة وليست سلسلة.

في الواقع، تستجيب القوائم لجميع العمليات الرئيسية التي تتم على السلاسل والتي مرت معنا في الفصل السابق.

التعبير في python النتيجة الوصف
len([1, 2, 3]) 3 الطول
[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] السلسلة
[‘Hi!’] * 4 [‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’] الإعادة
3 in [1, 2, 3] True العضوية
for x in [1, 2, 3]: print x, 1 2 3 التكرار

التأشير وأخذ الشرائح والمصفوفات

لأن القوائم سلاسل، فإن التأشير وأخذ الشرائح تعمل بنفس الطريقة للقوائم كما في السلاسل.

لنفترض الإدخال التالي-

L=['spam','Spam','SPAM!']
التعبير في python النتيجة الوصف
L[2] ‘SPAM!’ إزاحة تبدأ من الصفر
L[-2] ‘Spam’ عدد سلبي من الناحية اليمنى
L[1:] [‘Spam’, ‘SPAM!’] الأقسام المأخوذة كشرائح

الطرق والتوابع المدمجة في القوائم

التوابع

الرقم التسلسلي التابع والوصف
1 cmp(list1, list2) يقارن عناصر قائمتين
2 len(list) يعطي الطول الكلي للقائمة
3 max(list) يعطي القيمة العظمى لمكونات القائمة
4 min(list) يعطي القيمة الدنيا لمكونات القائمة
5 list(seq) يحول الصف إلى قائمة

الطرق

الرقم التسلسلي الطريقة والوصف
1 list.append(obj) تلحق الغرض بالقائمة
2 list.count(obj) تعطي عدد مرات تكرار الغرض في القائمة
3 list.extend(seq) تلحق مكونات السلسلة بالقائمة
4 list.index(obj) تعيد المؤشر الأدنى والذي أظهره الغرض في القائمة
5 list.insert(index, obj) تدخل الغرض في القائمة بدلاً عن المؤشر.
6 list.pop(obj=list[-1]) تزيل ويعيد الغرض الاخير من القائمة
7 list.remove(obj)تزيلالغرض الاخير من القائمة
8 list.reverse() تعكس أماكن الأغراض ضمن القائمة
9 list.sort([func])تصنف الأغراض ضمن القائمة وتستخدم تابع المقارنة إذا لزم