:: # دورة النظم المتقدمة في المحاسبة وتحقيق الرقابة المالية وتقييم الأداء#30يونيه 2024م (آخر رد :جهاد سعيد)       :: # دورة إعداد التقارير و المراسلات والأرشفة#2 يونيه 2024م #اسطنبول#metc (آخر رد :جهاد سعيد)       :: خدمات شركة الحمد (آخر رد :soha mag)       :: # دورة الادارة الامنة للشبكات وأنظمة التشغيل#7 يوليو 2024م #القاهرة#metc (آخر رد :جهاد سعيد)       :: # دورة استراتيجيات التخطيط في إدارة الأزمات#23 يونيه 2024م #دبي#metc (آخر رد :جهاد سعيد)       :: خدمات شركة الحمد (آخر رد :soha mag)       :: # دورة إعداد ميزانية برامج الصيانة الإنتاجية#2 يونيه 2024م #القاهرة#metc (آخر رد :جهاد سعيد)       :: # دورة الاستراتيجيات المتقدمة للمشتريات والمخازن وادارة الخدمات اللوجستية#2 يونيه 202 (آخر رد :جهاد سعيد)       :: شركة الحمد وفروعها (آخر رد :soha mag)       :: #دورة الإبتكار في تطبيقات الذكاء الإصطناعي للتميّز المؤسسي #26 مايو 2024م #دبي#metc (آخر رد :جهاد سعيد)      
اختر لونك:
وَقُلِ اعْمَلُوا فَسَيَرَى اللَّهُ عَمَلَكُمْ وَرَسُولُهُ وَالْمُؤْمِنُونَ ۖ وَسَتُرَدُّونَ إِلَىٰ عَالِمِ الْغَيْبِ وَالشَّهَادَةِ فَيُنَبِّئُكُم بِمَا كُنتُمْ تَعْمَلُونَ [ التوبة : ( 105 )] كلمة الإدارة

يرجى إختيار القسم المناسب قبل النشر وسيعاقب المخالف بإنذار أول مرة وسيتم حظره إذا تكرر ذلك كلمة الإدارة

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



أضف رد جديد
 
LinkBack أدوات الموضوع انواع عرض الموضوع

قديم 01-03-2019, 09:47 AM   #1
تاريخ التسجيل: Feb 2019
الدولة: قلب ابي
العمر: 31
المشاركات: 1,006
التقييم: 10
تاريخ التسجيل: Feb 2019
الدولة: قلب ابي
العمر: 31
المشاركات: 1,006
التقييم: 10
افتراضي حلقات التكرار المتشعبة في تعابير List Comprehension

حلقات التكرار المتشعبة في تعابير List Comprehension
يمكن استعمال حلقات التكرار المتشعبة لإجراء عدِّة عمليات دوران متداخلة في برامجنا.
سننظر في هذا القسم إلى حلقة for متشعبة وسنحاول تحويلها إلى تعبير List comprehension.
هذه الشيفرة ستُنشِئ قائمةً جديدةً بالدوران على قائمتين وبإجراء عمليات رياضية عليها:

my_list = []

for x in [20, 40, 60]:
for y in [2, 4, 6]:
my_list.append(x * y)

print(my_list)
سنحصل على الناتج الآتي عند تشغيل البرنامج:

[40, 80, 120, 80, 160, 240, 120, 240, 360]
الشيفرة السابقة تضرب العناصر الموجودة في أوّل قائمة بالعناصر الموجودة في ثاني قائمة في كل دورة.
لتحويل ما سبق إلى تعبير List comprehension، وذلك باختصار السطرين الموجودين في الشيفرة السابقة وتحويلهما إلى سطرٍ وحيدٍ، الذي يبدأ بإجراء العملية x*y، ثم ستلي هذه العملية حلقة for الخارجية، ثم يليها حلقة for الداخلية؛ وسنضيف تعبير print()‎ للتأكد أنَّ ناتج القائمة الجديدة يُطابِق ناتج البرنامج الذي فيه حلقتين متداخلتين:

my_list = [x * y for x in [20, 40, 60] for y in [2, 4, 6]]
print(my_list)
الناتج:

[40, 80, 120, 80, 160, 240, 120, 240, 360]
أدى استعمال تعبير List Comprehension في المثال السابق إلى تبسيط حلقتَي for لتصبحا سطرًا وحيدًا، لكن مع إنشاء نفس القائمة والتي ستُسنَد إلى المتغير my_list.
توفِّر لنا تعابير List Comprehension طريقةً بسيطةً لإنشاء القوائم، مما يسمح لنا باختصار عدِّة أسطر إلى سطرٍ وحيد. لكن من المهم أن تبقي في ذهنك أنَّ سهولة قراءة الشيفرة لها الأولوية دومًا، لذا إذا أصبحتَ تعابير List Comprehension طويلةً جدًا ومعقدة، فمن الأفضل حينها تحويلها إلى حلقات تكرار عادية.


تسمح تعابير List Comprehension لنا بتحويل قائمة أو أي نوع من البيانات المتسلسلة إلى سلسلةٍ جديدة، ولها شكلٌ بسيطٌ يُقلِّل عدد الأسطر التي نكتبها.
تتبع تعابير List Comprehension شكلًا رياضيًا معيّنًا، لذا قد يجدها المبرمجون أولو الخلفية الرياضية سهلة الفهم.
وصحيحٌ أنَّ تعابير List Comprehension تختصر الشيفرةـ لكن من المهم جعل سهولة قراءة الشيفرة من أولوياتنا، وحاول تجنّب الأسطر الطويلة لتسهيل قراءة الشيفرة.

مهرة النجدية غير متواجد حالياً   اقتباس
أضف رد جديد

الكلمات الدلالية (Tags)
منتديات رحيل, رحيل, شبكة رحيل, r7il, r7il.com


الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
كيفية إنشاء حلقات تكرار while في بايثون 3 مهرة النجدية قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 0 01-03-2019 09:54 AM
كيفية استخدام تعابير break و continue و pass عند التعامل مع حلقات التكرار في بايثون 3 مهرة النجدية قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 0 01-03-2019 09:53 AM
الوصول إلى العناصر الموجودة في القوائم الداخلية مهرة النجدية قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 0 01-03-2019 09:50 AM
كيفية إنشاء حلقات تكرار for في بايثون 3 مهرة النجدية قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 0 01-03-2019 09:48 AM
فهم كيفية استعمال List Comprehensions في بايثون 3 مهرة النجدية قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 0 01-03-2019 09:46 AM


الساعة الآن 06:06 PM

 


Content Relevant URLs by vBSEO ©2010, Crawlability, Inc.