English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا المقال، سنتعلم عن كل شيء يتعلق بلوحة Python؛ كيفية إنشائها، قطع القائمة، إضافة أو حذف العناصر منها، إلخ.
يقدم Python مجموعة من أنواع البيانات المركبة التي تُسمى عادةً سلاسل. القائمة هي أحد أنواع البيانات المركبة التي تستخدم بشكل متكرر وأكثر استعمالًا في Python.
في برمجة Python، يتم إنشاء القوائم (List) عن طريق وضع جميع العناصر (العناصر) داخل مقابس [] وتمييزها بالفاصلة المائلة.
يمكنها أن تحتوي على أي عدد من العناصر، وهي يمكن أن تكون بأنواع مختلفة (الأعداد الصحيحة، الأعداد العشرية، الأعداد النصية، إلخ).
# قائمة فارغة my_list = [] # قائمة من الأعداد الصحيحة my_list = [1, 2, 3] # قائمة تحتوي على أنواع بيانات مختلطة my_list = [1, "Hello", 3.4]
بالنسبة لنفس الأمر، يمكن للقائمة حتى أن تحتوي على قائمة أخرى كعنصر. هذا يُسمى بقائمة متداخلة.
# قائمة متداخلة my_list = ["mouse", [8, 4, 6], ['a']]
يمكننا الوصول إلى عناصر القائمة بعدة طرق.
يمكننا استخدام مشغلات الدوال [] للاطلاع على العناصر في القائمة. تبدأ الأنواع من 0. لذلك، تبدأ أنواع القائمة التي تحتوي على 5 عناصر من 0 إلى 4.
حاول الوصول إلى عنصر آخر، وإلا سيتم إطلاق خطأ IndexError. يجب أن يكون المؤشر عددًا صحيحًا. لا يمكننا استخدام float أو أي نوع آخر، مما يؤدي إلى خطأ TypeError.
استخدام وصلات الدوال المتعددة للاطلاع على القوائم المتداخلة.
my_list = ['p', 'r', 'o', 'b', 'e'] # المخرجات: p print(my_list[0]) # المخرجات: o print(my_list[2]) # المخرجات: e print(my_list[4]) # خطأ! يمكن استخدام فقط الأرقام الكاملة كمعلمات التشكيل # my_list[4.0] # قائمة متشابكة n_list = ['Happy', [2, 0, 1, 5]] # دالة التشكيل # المخرجات: a print(n_list[0][1]) # المخرجات: 5 print(n_list[1][3])
يُسمح في Python باستخدام الدوال السلبية للوصول إلى السلاسل. يعني الدالة السلبية -1 العنصر الأخير، -2 العنصر الثاني الأخير، وهكذا.
my_list = ['p', 'r', 'o', 'b', 'e'] # المخرجات: e print(my_list[-1]) # المخرجات: p print(my_list[-5])
يمكننا استخدام عمودي التشكيل (النقاط الثلاثة: المثلث) لتحديد سلسلة من العناصر في القائمة.
my_list = ['p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z'] # من العنصر الثالث إلى العنصر الخامس print(my_list[2:5]) # من البداية إلى العنصر الرابع print(my_list[:-5]) # من العنصر السادس إلى العنصر الأخير print(my_list[5:]) # من العنصر الأول إلى العنصر الأخير print(my_list[:])
من خلال النظر إلى بين العناصر كما هو موضح أدناه، يمكن الحصول على التوضيح البصري الأمثل. إذا أردنا الوصول إلى نطاق، فإننا بحاجة إلى طويلتين للقطع هذا الجزء من القائمة.
قائمة List قابلة للتغيير، مما يعني أن عناصرها يمكن تغييرها، على عكسstringأوtuple.
يمكننا استخدام عمودي الربط (=) لتغيير عنصر أو سلسلة من العناصر.
# قائمة القيم odd = [2, 4, 6, 8] # تغيير العنصر الأول odd[0] = 1 # المخرجات: [1, 4, 6, 8] print(odd) # تغيير العناصر من الرقم 2 إلى الرقم 4 odd[1:4] = [3, 5, 7] # المخرجات: [1, 3, 5, 7] print(odd)
يمكننا استخدام طريقة append() لإضافة عنصر إلى القائمة أو استخدام طريقة extend() لإضافة عدة عناصر إلى القائمة.
odd = [1, 3, 5] odd.append(7) # المخرجات: [1, 3, 5, 7] print(odd) odd.extend([9, 11, 13]) # المخرجات: [1, 3, 5, 7, 9, 11, 13] print(odd)
يمكننا أيضًا استخدام عمودي الإضافة لدمج قائمتين. هذا يُدعى أيضًا التسلسل.
يكرر عموديًا قائمة المقدار المحدد.
odd = [1, 3, 5] # خروج: [1, 3, 5, 9, 7, 5] print(odd + [9, 7, 5]) # خروج: ['re', 're', 're'] print(['re'] * 3)
إضافة إلى ذلك، يمكننا استخدام طريقة insert() ل插入 عنصر في الموضع المطلوب، أو ل插入 عدة عناصر من خلال ضغط عدة عناصر إلى قطع فارغ في القائمة.
odd = [1, 9] odd.insert(1, 3) # خروج: [1, 3, 9] print(odd) odd[2:2] = [5, 7] # خروج: [1, 3, 5, 7, 9] print(odd)
يمكننا استخدام الكلمة المفتاحية del لإزالة عنصر واحد أو عدة عناصر من القائمة. يمكنه حتى إزالة القائمة بالكامل.
my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm'] # إزالة عنصر واحد del my_list[2] # خروج: ['p', 'r', 'b', 'l', 'e', 'm'] print(my_list) # إزالة عدة عناصر del my_list[1:5] # خروج: ['p', 'm'] print(my_list) # إزالة جميع العناصر من القائمة del my_list # خطأ: لم يتم تعريف القائمة print(my_list)
يمكننا استخدام طريقة remove() لإزالة العنصر المحدد، أو استخدام pop() لإزالة العنصر في المكان المحدد.
إذا لم يتم تقديم المؤشر، فإن طريقة pop() ستزيل وتعيد الأخير.
يمكننا أيضًا استخدام هذه الطريقة clear() لتفريغ القائمة.
my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm'] my_list.remove('p') # خروج: ['r', 'o', 'b', 'l', 'e', 'm'] print(my_list) # خروج: 'o' print(my_list.pop(1)) # خروج: ['r', 'b', 'l', 'e', 'm'] print(my_list) # خروج: 'm' print(my_list.pop()) # خروج: ['r', 'b', 'l', 'e'] print(my_list) my_list.clear() # خروج: [] print(my_list)
آخيرًا، يمكننا أيضًا إزالة العناصر من القائمة من خلال تخصيص قائمة فارغة للقطع من العناصر.
>>> my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm'] >>> my_list[2:3] = [] >>> my_list ['p', 'r', 'b', 'l', 'e', 'm'] >>> my_list[2:5] = [] >>> my_list ['p', 'r', 'm']
يُظهر أدناه القائمة بالطرق المتاحة للعنصر list في برمجة بايثون.
يمكن الوصول إليها باستخدام نمط list.method(). تم استخدام بعض هذه الطرق بالفعل.
بعض أمثلة على طرق قائمة بايثون:
my_list = [3, 8, 1, 6, 0, 8, 4] # مخرجات: 1 print(my_list.index(8)) # مخرجات: 2 print(my_list.count(8)) my_list.sort() # مخرجات: [0, 1, 3, 4, 6, 8, 8] print(my_list) my_list.reverse() # مخرجات: [8, 8, 6, 4, 3, 1, 0] print(my_list)
استنتاج القائمة هي طريقة بسيطة وسهلة لإنشاء قائمة جديدة من قائمة موجودة في بايثون.
استنتاج القائمة يحتوي على تعبير واحد، يتبعه بيانوتين داخل الكوبراكتجملة for.
هذا مثال على قائمة تحتوي على قيم الطاقة التي تزيد بـ 2 في كل مرة.
pow2 = [2 ** x for x in range(10)] # مخرجات: [1, 2, 4, 8, 16, 32, 64, 128, 256, 512] print(pow2)
هذا الكود يعادله
pow2 = [] for x in range(10): pow2.append(2 ** x)
يمكن استخدام استنتاج القائمة لتشمل المزيد من for أوجملة ifالجملة الاختيارية if يمكن استخدامها للفرز وإزالة العناصر من القائمة الجديدة. إليك بعض الأمثلة.
>>> pow2 = [2 ** x for x in range(10) if x > 5] >>> pow2 [64, 128, 256, 512] >>> odd = [x for x in range(20) if x % 2 == 1] >>> odd [1, 3, 5, 7, 9, 11, 13, 15, 17, 19] >>> [x+y for x in ['Python', 'C'] for y in ['Language', 'Programming']] ['Python Language', 'Python Programming', 'C Language', 'C Programming']
يمكننا استخدام المفتاح in لاختبار ما إذا كان العنصر موجودًا في القائمة.
my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm'] # الناتج: True print('p' in my_list) # الناتج: False print('a' in my_list) # الناتج: True print('c' not in my_list)
باستخدام الدائرة التكرارية، يمكننا مرور كل عنصر في القائمة.
for fruit in ['apple', 'banana', 'mango']: print("I like", fruit)