تعلم لغة البايثون – الدرس الرابع عشر القوائم في بايثون Python List Comprehensions
قائمة الاستيعاب هي أداة قوية للغاية ، تقوم بإنشاء قائمة جديدة تستند إلى قائمة أخرى ، في سطر واحد قابل للقراءة.
على سبيل المثال ، لنفترض أننا بحاجة إلى إنشاء قائمة بالأعداد الصحيحة التي تحدد طول كل كلمة في جملة معينة ، ولكن فقط إذا كانت الكلمة ليست كلمة “the”.
sentence = "the quick brown fox jumps over the lazy dog" words = sentence.split() word_lengths = [] for word in words: if word != "the": word_lengths.append(len(word)) print(words) print(word_lengths)
سنحصل على النتيجة التالية عند التشغيل
['the', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog'] [5, 5, 3, 5, 4, 4, 3]
باستخدام قائمة الفهم ، يمكننا تبسيط هذه العملية على هذا التدوين:
sentence = "the quick brown fox jumps over the lazy dog" words = sentence.split() word_lengths = [len(word) for word in words if word != "the"] print(words) print(word_lengths)
سنحصل على النتيجة التالية عند التشغيل
['the', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog'] [5, 5, 3, 5, 4, 4, 3]
تمرين
باستخدام فهم القائمة ، قم بإنشاء قائمة جديدة تسمى “قائمة جديدة” من القائمة “أرقام” ، والتي تحتوي فقط على الأرقام الموجبة من القائمة ، كأعداد صحيحة.
numbers = [34.6, -203.4, 44.9, 68.3, -12.2, 44.6, 12.7] newlist = [] print(newlist)
الحل
numbers = [34.6, -203.4, 44.9, 68.3, -12.2, 44.6, 12.7] newlist = [int(x) for x in numbers if x > 0] print(newlist)
سنحصل على النتيجة التالية عند التشغيل
<script.py> output: [34, 44, 68, 44, 12]