استبدال القيم في قائمة بناءً على شرط في بايثون
في بايثون، قد تواجه سيناريوهات حيث تحتاج إلى معالجة العناصر داخل القائمة، مثل استبدال القيم بناءً على شرط معين. ومن خلال الاستفادة من التقنيات الفعالة، يمكنك إجراء هذه التعديلات بفعالية.
تتضمن إحدى الطرق الاستفادة من فهم القائمة. على سبيل المثال، إذا كانت لديك قائمة [0، 1، 2، 3، 4، 5، 6، 7، 8، 9، 10] وتريد استبدال العناصر التي يكون معامل 2 فيها يساوي 0، فيمكنك استخدام الفهم التالي :
new_items = [x if x % 2 else None for x in items]
ينشئ هذا الفهم قائمة جديدة حيث يتم التحقق من كل عنصر مقابل الشرط (x % 2). إذا كان الشرط خطأ، يتم الاحتفاظ بالقيمة الأصلية (x). بخلاف ذلك، يتم استبدال العنصر بلا شيء.
بدلاً من ذلك، يمكنك تعديل القائمة في مكانها باستخدام حلقة for:
for index, item in enumerate(items): if not (item % 2): items[index] = None
يتكرر هذا الحل عبر القائمة، ويحدد العناصر التي تستوفي الشرط (العنصر % 2)، ثم يعين لا شيء لتلك المواضع.
يظهر تحليل تعقيد الوقت ذلك يستغرق كلا النهجين نفس القدر من الوقت تقريبًا. في Python 3.6.3، يتفوق فهم القائمة قليلاً على حلقة for من حيث السرعة، بينما في Python 2.7.6، يكون الأداء مشابهًا.
لذلك، فإن الطريقة الأكثر فعالية لاستبدال القيم في قائمة تعتمد على بشرط هو استخدام قائمة الفهم، لأنها تحقق النتيجة المرجوة بطريقة واضحة وموجزة. يمكن أن تكون هذه التقنية مفيدة بشكل خاص عند العمل مع قوائم كبيرة، لأنها تقلل من عدد العمليات المطلوبة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3