كيفية تصفية قائمة السلاسل في بايثون

How Filter List Strings Python



يستخدم Python نوع بيانات القائمة لتخزين بيانات متعددة في فهرس متسلسل. إنه يعمل كمصفوفة رقمية من لغات البرمجة الأخرى. طريقة filter () هي طريقة مفيدة جدًا في Python. يمكن تصفية واحدة أو أكثر من قيم البيانات من أي سلسلة أو قائمة أو قاموس في Python باستخدام طريقة filter (). يقوم بتصفية البيانات بناءً على أي حالة معينة. يخزن البيانات عندما يعود الشرط صحيحًا ويتجاهل البيانات عند إرجاعها كاذبة. يتم عرض كيفية تصفية بيانات السلسلة في بايثون في هذه المقالة باستخدام أمثلة مختلفة. يجب عليك استخدام Python 3+ لاختبار أمثلة هذه المقالة.

تصفية قائمة سلسلة باستخدام قائمة أخرى

يوضح هذا المثال كيف يمكن تصفية البيانات الموجودة في قائمة السلسلة دون استخدام أي طريقة. يتم هنا تصفية قائمة السلسلة باستخدام قائمة أخرى. هنا ، يتم التصريح عن متغيرين للقائمة بالاسم قائمة 1 و قائمة 2 . قيم قائمة 2 يتم تصفيته باستخدام قيم قائمة 1 . سيتطابق البرنامج النصي مع الكلمة الأولى من كل قيمة قائمة 2 بقيم قائمة 1 وطباعة تلك القيم غير الموجودة في قائمة 1 .







# قم بتعريف اثنين من متغيرات القائمة
قائمة 1= ['بيرل'و 'بي أتش بي'و 'جافا'و 'آسيا والمحيط الهادئ']
قائمة 2= ['JavaScript هي لغة برمجة نصية من جانب العميل'و
'PHP هي لغة برمجة نصية من جانب الخادم'و
جافا لغة برمجةو
'Bash هي لغة برمجة نصية']

# تصفية القائمة الثانية على أساس القائمة الأولى
مرشح البيانات= [xلxفيقائمة 2لو
الكل(وليس فيxلوفيقائمة 1)]

# طباعة بيانات القائمة قبل التصفية وبعد التصفية
مطبعة('محتوى القائمة الأولى':وقائمة 1)
مطبعة('محتوى القائمة الثانية:'وقائمة 2)
مطبعة('محتوى القائمة الثانية بعد التصفية:'ومرشح البيانات)

انتاج:



قم بتشغيل البرنامج النصي. هنا، قائمة 1 لا يحتوي على كلمة ' سحق '. سيحتوي الإخراج على قيمة واحدة فقط من قائمة 2 هذا هو ' باش هي لغة برمجة .







تصفية قائمة سلسلة باستخدام قائمة أخرى ووظيفة مخصصة

يوضح هذا المثال كيف يمكن تصفية قائمة السلسلة باستخدام قائمة أخرى ووظيفة التصفية المخصصة. يحتوي البرنامج النصي على متغيرين من القائمة المسماة list1 و list2. ستكتشف وظيفة التصفية المخصصة القيم المشتركة لكل من متغيري القائمة.

# قم بتعريف اثنين من متغيرات القائمة
قائمة 1= ['90'و '67'و '3. 4'و '55'و '12'و '87'و '32']
قائمة 2= ['9'و '90'و '38'و 'أربعة خمسة'و '12'و 'عشرين']

# قم بتعريف funtion لتصفية البيانات من القائمة الأولى
defمنقي(قائمة 1وقائمة 2):
إرجاع [نلنفيقائمة 1لو
أي(مفينلمفيقائمة 2)]

# طباعة بيانات القائمة قبل التصفية وبعد التصفية
مطبعة('محتوى list1'وقائمة 1)
مطبعة('محتوى list2'وقائمة 2)
مطبعة('البيانات بعد التصفية'ومنقي(قائمة 1وقائمة 2))

انتاج:



قم بتشغيل البرنامج النصي. توجد قيم 90 و 12 في كلا متغيري القائمة. سيتم إنشاء الإخراج التالي بعد تشغيل البرنامج النصي.

تصفية قائمة سلسلة باستخدام التعبير العادي

يتم تصفية القائمة باستخدام الكل() و أي() الأساليب في المثالين السابقين. يتم استخدام التعبير العادي في هذا المثال لتصفية البيانات من القائمة. التعبير العادي هو نمط يمكن من خلاله البحث عن أي بيانات أو مطابقتها. 'إعادة' الوحدة النمطية في بيثون لتطبيق التعبير العادي في البرنامج النصي. هنا ، يتم الإعلان عن قائمة برموز الموضوع. يتم استخدام التعبير العادي لفلترة أكواد الموضوعات التي تبدأ بالكلمة ، ' محرك بحث مخصص '. ' ^ يتم استخدام الرمز 'في أنماط التعبير العادي للبحث في بداية النص.

# استيراد وحدة إعادة لاستخدام التعبير العادي
يستورد إعادة

# أعلن أن القائمة تحتوي على رمز الموضوع
قائمة فرعية= ['CSE-407'و 'PHY-101'و 'CSE-101'و 'ENG-102'و 'مات 202']

# إعلان وظيفة التصفية
defمنقي(قائمة البيانات):
# بيانات البحث على أساس التعبير العادي في القائمة
إرجاع [ساعةلساعةفيقائمة البيانات
لو إعادة.بحث(ص'^ محرك بحث مخصص'وساعة)]

# طباعة بيانات التصفية
مطبعة(منقي(قائمة فرعية))

انتاج:

قم بتشغيل البرنامج النصي. قائمة فرعية متغير يحتوي على قيمتين تبدأان بـ محرك بحث مخصص '. سيظهر الإخراج التالي بعد تشغيل البرنامج النصي.

قم بتصفية قائمة السلسلة باستخدام تعبير lamda

يوضح هذا المثال استخدام لامدا تعبير لتصفية البيانات من قائمة السلاسل. هنا ، متغير قائمة اسمه كلمة البحث يستخدم لتصفية المحتوى من متغير نص مسمى نص . يتم تحويل محتوى النص إلى قائمة مسماة ، نص_كلمة على أساس الفضاء باستخدام الانقسام() طريقة. لامدا سيحذف التعبير هذه القيم من نص_كلمة الموجودة في كلمة البحث وتخزين القيم المصفاة في متغير بإضافة مسافة.

# قم بتعريف قائمة تحتوي على كلمة البحث
كلمة البحث= ['يعلم'و 'الشفرة'و 'برمجة'و 'مدونة او مذكرة']

# تحديد النص حيث سيتم البحث عن الكلمة من القائمة
نص= 'تعلم برمجة Python من مدونة Linux Hint'

# قسّم النص بناءً على المساحة وقم بتخزين الكلمات في قائمة
نص_كلمة=نص.الانقسام()

# باستخدام تعبير لامدا لتصفية البيانات
filter_text= '.انضم((منقي(لامداval: valليسأنا
n search_wordونص_كلمة)))

# طباعة النص قبل التصفية وبعد التصفية
مطبعة('نالنص قبل التصفية:ن'ونص)
مطبعة(النص بعد التصفية:ن'وfilter_text)

انتاج:

قم بتشغيل البرنامج النصي. سيظهر الإخراج التالي بعد تشغيل البرنامج النصي.

قم بتصفية قائمة السلسلة باستخدام طريقة filter ()

منقي() الطريقة تقبل اثنين من المعلمات. تأخذ المعلمة الأولى اسم وظيفة أو لا أحد والمعلمة الثانية تأخذ اسم متغير القائمة كقيم. منقي() الطريقة تخزن هذه البيانات من القائمة إذا كانت صحيحة ، وإلا فإنها تتجاهل البيانات. هنا، لا أحد تُعطى كقيمة المعلمة الأولى. جميع القيم بدون خاطئة سيتم استردادها من القائمة كبيانات تمت تصفيتها.

# إعلان قائمة البيانات المختلطة
listData= ['أهلا'و 200و 1و 'العالمية'و خاطئةو حقيقيو '0']

# طريقة تصفية المكالمات () مع بلا وقائمة
البيانات المفلترة= منقي(لا أحدوlistData)

# اطبع القائمة بعد تصفية البيانات
مطبعة('القائمة بعد التصفية:')
لساعةفيالبيانات المصفاة:
مطبعة(ساعة)

انتاج:

قم بتشغيل البرنامج النصي. تحتوي القائمة على قيمة خاطئة واحدة فقط سيتم حذفها في البيانات التي تمت تصفيتها. سيظهر الإخراج التالي بعد تشغيل البرنامج النصي.

استنتاج:

تكون التصفية مفيدة عندما تحتاج إلى البحث عن قيم معينة واستردادها من قائمة. آمل أن تساعد الأمثلة المذكورة أعلاه القراء على فهم طرق تصفية البيانات من قائمة السلاسل.