تصفية قائمة السلاسل بناءً على محتوياتها
في ضوء قائمة السلاسل، قد تواجه الحاجة إلى استخراج تلك التي تحتوي فقط على سلسلة فرعية محددة. في بايثون، هناك عدة طرق فعالة لإجراء عملية التصفية هذه.
استخدام فهم القائمة
واحدة من أبسط الطرق وأكثرها موصى بها هي الاستفادة من فهم القائمة القوية في بايثون. . توفر عمليات فهم القائمة طريقة مختصرة ومعبرة لإنشاء قائمة جديدة بناءً على عناصر القائمة الموجودة. بالنسبة لمتطلباتك المحددة لتصفية السلاسل التي تحتوي على "ab"، يمكنك استخدام الفهم التالي:
lst = ['a', 'ab', 'abc', 'bac']
result = [k for k in lst if 'ab' in k]
يتكرر هذا الفهم من خلال كل سلسلة في القائمة الأصلية ('a'، 'ab'، 'abc'، 'bac') والتحقق إذا كان يحتوي على السلسلة الفرعية "ab". إذا كان صحيحا، فإنه يضيف السلسلة إلى القائمة الناتجة. يمنحك هذا القائمة المصفاة المطلوبة: ['ab', 'abc'].
استخدام وظيفة التصفية
هناك طريقة أخرى لتصفية السلاسل في Python وهي الاستخدام وظيفة التصفية. تأخذ هذه الوظيفة دالة مرشح وقابلة للتكرار كوسيطات وترجع مكررًا ينتج عناصر التكرار التي تلبي وظيفة المرشح. في حالتك، يمكنك استخدام الفلتر كما يلي:lst = ['a', 'ab', 'abc', 'bac']
result = list(filter(lambda k: 'ab' in k, lst))
تأخذ وظيفة التصفية دالة مجهولة (دالة lambda) كوسيطة أولى لها، والتي تتحقق من وجود "ab" في الإدخال خيط. الوسيطة الثانية هي القائمة الأصلية. نتيجة المرشح هي مكرر، والذي يتم إرساله بعد ذلك إلى قائمة باستخدام القائمة (). مرة أخرى، يؤدي هذا إلى إنتاج قائمة ['ab', 'abc'] المطلوبة.بينما يمكن لكل من فهم القائمة ووظيفة التصفية تحقيق التصفية المطلوبة، يُفضل فهم القائمة بشكل عام لإيجازها وسهولة قراءتها، خاصة بالنسبة لـ مهام تصفية بسيطة مثل هذه. تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3