شرح قوائم Python مع الأمثلة
توفر فهم القوائم طريقة موجزة لإنشاء القوائم في بايثون. فهي أسهل في القراءة وأكثر كفاءة في كثير من الأحيان من استخدام الحلقات التقليدية. ستستكشف هذه المقالة ماهية فهم القوائم، وكيف تعمل، وتقدم أمثلة لتوضيح استخدامها.
ما هي قائمة الفهم؟
إن فهم القائمة هو طريقة مضغوطة لمعالجة كل أو جزء من العناصر في مجموعة وإرجاع قائمة بالنتائج. بناء جملة فهم القائمة هو:
[expression for item in iterable if condition]
هنا، expression
هو العنصر الحالي في التكرار، ولكنه أيضًا النتيجة، والتي يمكنك معالجتها قبل أن ينتهي بها الأمر مثل عنصر القائمة. iterable
هي المجموعة التي تتكرر من خلالها، وcondition
هو مرشح اختياري يتضمن فقط العناصر التي تلبي الشرط.
أمثلة أساسية
إنشاء قائمة المربعات
لإنشاء قائمة من مربعات الأرقام من 0 إلى 9، يمكنك استخدام فهم القائمة على النحو التالي:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
squares = [x ** 2 for x in numbers]
print(squares)
الإخراج:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
تصفية العناصر
يمكنك أيضًا إضافة شرط لتصفية العناصر. على سبيل المثال، للحصول على الأرقام الزوجية فقط من القائمة:
even_squares = [x ** 2 for x in numbers if x % 2 == 0]
print(even_squares)
الإخراج:
[0, 4, 16, 36, 64]
تسطيح قائمة القوائم
إذا كان لديك قائمة من القوائم وتريد تقليصها، يمكنك استخدام فهم القائمة:
list_of_lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = [item for sublist in list_of_lists for item in sublist]
print(flattened)
الإخراج:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
أمثلة متقدمة
تطبيق الوظائف
يمكنك تطبيق الوظائف داخل فهم القائمة. على سبيل المثال، لتحويل قائمة من السلاسل إلى أحرف كبيرة:
words = ['hello', 'world', 'python']
uppercase_words = [word.upper() for word in words]
print(uppercase_words)
الإخراج:
['HELLO', 'WORLD', 'PYTHON']
الفهم المتداخل
يمكن تضمين فهم القائمة. على سبيل المثال، لإنشاء قائمة من الثنائيات (i, j) حيث i وj عنصران من قائمتين:
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
pairs = [(i, j) for i in list1 for j in list2]
print(pairs)
الإخراج:
[(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b'), (2, 'c'), (3, 'a'), (3, 'b'), (3, 'c')]
خاتمة
توفر فهم القوائم طريقة قوية وموجزة لإنشاء القوائم في بايثون. يمكنها تبسيط التعليمات البرمجية الخاصة بك وجعلها أكثر قابلية للقراءة من خلال استبدال أسطر متعددة من التعليمات البرمجية المتكررة بسطر واحد من فهم القوائم. تدرب على استخدام فهم القوائم لتصبح أكثر راحة مع بناء الجملة والقدرات الخاصة بها.