• 0

كيف أستبدل قيم في قائمة في بايثون؟

أملك القائمة التالية وأريد استبدال عناصرها بـ 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

يوجد عدة طرق في لغة بايثون لفعل ذلك، فيمكنك على سبيل المثال استخدام دالة 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]

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن