قائمة الفهم في بايثون (مع أمثلة)

نشرت: 2021-08-22

Python من أشهر لغات البرمجة في العالم. في عام 2020 ، احتلت المرتبة الثانية في تصنيف RedMonk لشعبية لغة البرمجة . السبب وراء انتشاره على نطاق واسع هو كونه سهل الفهم وبساطته. تعد كتابة التعليمات البرمجية بلغة Python أمرًا بسيطًا للغاية إذا كنت معتادًا على بناء الجملة. إحدى ميزاته الفريدة هي ميزة استيعاب القائمة. يمكنك إجراء فهم Python للقوائم عن طريق كتابة سطر واحد فقط من التعليمات البرمجية!

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

جدول المحتويات

ما هي قائمة فهم بايثون؟

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

يمكنك استخدام list comprehensions لإنشاء قوائم جديدة من عناصر أخرى قابلة للتكرار مثل المصفوفات والسلاسل والصفوف والقوائم وما إلى ذلك. وهي مكونة من أقواس مع التعبير. ينفذ النظام التعبير لكل عنصر مع حلقة for للتكرار على كل عنصر.

بناء الجملة لفهم القائمة في بايثون هو كما يلي:

your_new_list = [تعبير عن عنصر في your_old_list if condition]

هنا ، your_new_list هي القائمة الجديدة (أو النتيجة). يعتمد التعبير على المتغير الذي استخدمته لكل عنصر في your_old_list. أخيرًا ، "شرط if" هو المرشح.

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

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

أمثلة لفهم قائمة بايثون

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

مثال 1:

في هذا المثال ، سننشئ قائمة بسيطة باستخدام فهم بايثون:

المدخلات :

أ = [i for i in range (5)]

طباعة أ

الإخراج :

[0 ، 1 ، 2 ، 3 ، 4]

المثال 2:

في المثال أدناه ، سننشئ قائمة بمضاعفات اثنين:

المدخلات :

new_list = [a * 2 في النطاق (10)]

انتاج |

[0 ، 2 ، 4 ، 6 ، 8 ، 10 ، 12 ، 14 ، 16 ، 18]

مثال 3

يمكنك مضاعفة كل عنصر في القائمة باستخدام فهم القائمة:

إدخال

old_list = [1، 2، 3]

new_list = [العنصر * 2 للعنصر الموجود في القائمة القديمة]

طباعة new_list

انتاج |

[2، 4، 6]

مثال 4

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

المدخلات :

my_list = ["ترقية" ، "هي" ، "مرح"]

النتيجة = [الكلمة [0] للكلمة في قائمتي]

نتيجة الطباعة

انتاج |

['u'، 'i'، 'f']

مثال 5

يمكنك أيضًا استخراج الأرقام من سلسلة باستخدام قائمة الفهم

المدخلات :

old_list = "upGrad 123 ممتع"

new_list = [x لـ x في سلسلة إذا كانت x.isdigit ()]

طباعة new_list

الإخراج :

['1'، '2'، '3']

المثال 6:

يمكنك أيضًا استخدام قائمة الفهم مع الوظائف ، والتي تعد جزءًا حيويًا من التطبيقات الرياضية لبايثون:

إدخال

# أولاً ، سننشئ دالة تسمى ثلاثية

def ثلاثية (x

العودة x * 3

# لديك الآن دالة تعمل تطبع نتيجة إذا أدخلت قيمة صالحة

>>> طباعة ثلاثية (2)

الإخراج :

6

الآن يمكنك استخدام قائمة الفهم مع هذه الوظيفة لإنشاء المزيد من القوائم

المدخلات :

>>> [Triple (x) for x in range (5)]

طباعة ثلاثية

الإخراج :

[0 ، 3 ، 6 ، 9 ، 12]

الفرق بين قائمة الفهم والحلقة

من الطرق الشائعة للتكرار خلال القائمة استخدام حلقة for. ومع ذلك ، فإن List Comprehension هي طريقة أكثر فاعلية للتكرار من خلال قائمة حيث تتيح لك أداء المهمة بأسطر أقل من التعليمات البرمجية.

هذا مثال لتوضيح الفرق. سنبدأ بقائمة فارغة ونقوم بتعديلها لجعلها قائمة بالأرقام الزوجية:

إدخال

# إنشاء القائمة الفارغة

old_list = []

# باستخدام حلقة for لإنشاء القائمة الجديدة

لـ x في النطاق (5):

old_list.append (x * 2)

طباعة القائمة القديمة

الإخراج :

[0 ، 2 ، 4 ، 6 ، 8]

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

المدخلات :

# إنشاء المجموعة باستخدام قائمة الفهم

old_list = [x * 2 لـ x في النطاق (5)]

طباعة القائمة القديمة

الإخراج :

[0 ، 2 ، 4 ، 6 ، 8]

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

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

يعد فهم القائمة أحد وظائف فهم Python العديدة الموجودة في لغة البرمجة هذه. وظيفة الفهم الأخرى التي تحظى بشعبية كبيرة هي فهم القاموس:

ما هو فهم القاموس في بايثون؟

يتيح لك فهم القاموس ، كما يوحي الاسم ، إنشاء قواميس في لغة بايثون. صيغة فهم القاموس هي:

{k: v for (k، v) in iterable}

هنا ، k تعني المفتاح و v تعني القيمة.

دعونا نراه في العمل. في المثال التالي ، سننشئ قائمتين ونستخدم فهم القاموس لتوليد قاموس منهما:

المدخلات :

# استخدام بايثون لعرض فهم القاموس

# إنشاء قائمتين لتمثيل المفاتيح والقيم

مفاتيح = [1 ، 2 ، 3 ، 4 ، 5]

القيم = ['a'، 'b'، 'c' 'd'، 'e']

# تنفيذ فهم القاموس

new_dict = {k: v لـ (k، v) في zip (مفاتيح ، قيم)}

طباعة new_dict

الإخراج :

{1: "أ" ، 2: "ب" ، 3: "ج" ، 4: "د". 5: "هـ"}

يجعل فهم القاموس من السهل جدًا إنشاء قواميس في بايثون. ومع ذلك ، يمكنك أيضًا استخدام قائمة الفهم لإنشاء قاموس. في المثال التالي ، سنستخدم list comprehension وننشئ قاموسًا:

المدخلات :

new_dict = {x: x * 2 for x in [5، 4، 3، 2، 1]}

طباعة new_dict

الإخراج :

{5: 10 ، 4: 8 ، 3: 6 ، 2: 4 ، 1: 2}

كن خبيرًا في بايثون

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

لديها مجتمع مزدهر من المطورين والمبرمجين الذين يضيفون مكتبات جديدة إلى مجموعته بانتظام. تجعل المكتبات والوظائف العديدة المتاحة لـ Python مفيدة في قطاعات مختلفة مثل تطوير البرامج وعلوم البيانات والتعلم الآلي وغيرها.

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

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

تضم upGrad أكثر من 40.000 متعلم مدفوع الأجر في أكثر من 85 دولة. سيسمح لك الانضمام إلى هذا البرنامج أيضًا بالتواصل على المستوى الدولي من خلال قاعدة المتعلمين الواسعة في upGrad. برنامج Executive PG في دورة تطوير البرامج عبارة عن برنامج عبر الإنترنت يستمر لمدة 13 شهرًا. يتطلب فقط التزامًا زمنيًا لمدة 15 ساعة في الأسبوع.

يقدم البرنامج ستة تخصصات للاختيار من بينها

  • الأمن الإلكتروني
  • DevOps
  • حوسبة سحابية
  • البيانات الكبيرة
  • تطوير Blockchain
  • تطوير مكدس كامل

إلى جانب هذه المزايا ، تقدم upGrad أيضًا مساعدة مهنية بزاوية 360 درجة مع هذا البرنامج حتى تتمكن من بدء حياتك المهنية بسهولة. يمكنك معرفة المزيد حول الدورة هنا: برنامج تنفيذي PG في تطوير البرمجيات .

خاتمة

يمكنك تجربة قائمة الفهم بقوائم بسيطة في البداية ثم الانتقال إلى تطبيقات أكثر تعقيدًا لهذه الوظيفة. يعد فهم القائمة مثالاً على مدى مرونة وقوة برمجة بايثون.

ما رأيك في قائمة الفهم؟ كيف ستستخدمه في برنامجك؟

ماذا تفعل قائمة الفهم في بايثون؟

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

ما هو فهم القاموس؟

يتيح لك فهم القاموس إنشاء قواميس لقائمتين. يستخدم المفاتيح والقيم لإنشاء القاموس المطلوب.

هل فهم القائمة أفضل من التكرار الحلقي؟

نعم ، في معظم الحالات ، يعد استيعاب القوائم طريقة أفضل بكثير لإنشاء القوائم. يتطلب كودًا ووقتًا وقدرة حوسبة أقل من حلقات for لإنشاء القوائم.