المبرمج العربي نشر 24 يناير 2016 أرسل تقرير نشر 24 يناير 2016 أملك القائمة التالية وأريد استبدال عناصرها بـ None عندما تتحقق نتيجة الشرط:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] فمثلا لو كان الشرط هو bool(item%2) فإن القائمة ستصبح كالتالي:[None, 1, None, 3, None, 5, None, 7, None, 9, None] فما الطريقة الصحيحة لفعل ذلك في بايثون؟ اقتباس
0 هشام رزق الله نشر 24 يناير 2016 أرسل تقرير نشر 24 يناير 2016 يوجد عدة طرق في لغة بايثون لفعل ذلك، فيمكنك على سبيل المثال استخدام دالة enumerate مع حلقة التكرار for والجملة الشرطية if لفعل ذلك بكل سهولة كما في المثال التالي:items = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] for index, item in enumerate(items): if not (item % 2): items[index] = None أما لو أردت الحل بسطر واحد فقط وبطريقة أسهل عند القراءة فيمكنك في هذه الحالة كتابة سطر مشابه لهذا:new_items = [x if x % 2 else None for x in items] اقتباس
السؤال
المبرمج العربي
أملك القائمة التالية وأريد استبدال عناصرها بـ None عندما تتحقق نتيجة الشرط:
فمثلا لو كان الشرط هو bool(item%2) فإن القائمة ستصبح كالتالي:
فما الطريقة الصحيحة لفعل ذلك في بايثون؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.