قائمة التقاطع في بايثون

List Intersection Python



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

تداخل

قبل البدء في هذا البرنامج التعليمي ، سيتم شرح مفهوم التقاطع. أدناه ، يتم إعطاء اثنين كمثال:







القائمة 1= [4و 7و 2. 3و 9و 6و أحد عشر]
القائمة 2= [6و 5و 1و عشرينو 9و 7و 4و 3]

بعد تطبيق التقاطع ، إذا تم تخزين النتيجة في قائمة أخرى ، ربما تسمى List3 ، فستحتوي على البيانات التالية.



قائمة 3= [4و 6و 7و 9]

يظهر التمثيل الرسومي لـ List3 أدناه:







مثال 1: تقاطع القوائم عبر طريقة المجموعة ()

يوضح المثال التالي كيف يمكنك تقاطع قائمتين باستخدام امتداد يضع() الطريقة و & المشغل أو العامل. يتم هنا الإعلان عن قائمتين مسماة list1 و list2. تحتوي كلتا القائمتين على قيم رقمية. يتم إنشاء القائمة الثالثة عن طريق تحويل القائمة 1 والقائمة 2 إلى المجموعة عبر المجموعة () طريقة وتطبيق التقاطع باستخدام & المشغل أو العامل. بعد ذلك ، تتم طباعة قيم القوائم الثلاث.

#! / usr / bin / env python3
# تحديد قائمة 1
قائمة 1= [22و 8و أربعة خمسةو أحد عشرو 3. 4و 9و عشرينو 7]
# تحديد قائمة 2
قائمة 2= [12و 9و عشرينو 78و 53و 8و 2و 30و31]
# إنشاء list3 عن طريق تقاطع list1 و list2
قائمة 3= قائمة(يضع(قائمة 1)&يضع(قائمة 2))
# قائمة الطباعة 1
مطبعة(قيم list1:ن'وقائمة 1)
# قائمة الطباعة 2
مطبعة(قيم list2:ن'وقائمة 2)
# قائمة الطباعة 3
مطبعة(قيم list3 بعد تقاطع list1 و list2:ن'وقائمة 3)

انتاج |



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

مثال 2: القوائم المتقاطعة عبر طريقة التقاطع ()

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

#! / usr / bin / env python3

# تحديد وظيفة لإرجاع تقاطع قائمتين
defتتقاطع القوائم(قائمة 1وقائمة 2):
إرجاع يضع(قائمة 1).تداخل(قائمة 2)

# تحديد قائمة 1
قائمة 1= ['أهلا'و'7'و'8'و'10'و'2']
# تحديد قائمة 2
قائمة 2= ['8'و'3. 4'و'أهلا'و'2'و'واحد وعشرين'و'1'و10]
اتصل بالوظيفة المخصصة للتخزين
نتيجة التقاطع بين list1 و list2
في القائمة 3 ''

قائمة 3=تتقاطع القوائم(قائمة 1وقائمة 2)
# قائمة الطباعة 1
مطبعة(قيم list1:ن'وقائمة 1)
# قائمة الطباعة 2
مطبعة(قيم list2:ن'وقائمة 2)
# قائمة الطباعة 3
مطبعة(قيم list3 بعد تقاطع list1 و list2:ن'وقائمة 3)

انتاج |

سيظهر الإخراج التالي بعد تشغيل البرنامج النصي. هنا ، القيم المشتركة بين القائمتين هي '2' و '8' و 'مرحبًا'.

مثال 3: تقاطع القوائم عبر طريقة الحلقة

يوضح المثالان السابقان تقاطع القائمة باستخدام الوظائف المضمنة. يوضح المثال التالي تقاطع القائمة بدون أي وظيفة مضمنة. يمكن تحقيق ذلك باستخدام الحلقة. تم الإعلان عن قائمتين من البيانات النصية في البرنامج النصي. ال ل يتم استخدام loop هنا لمعرفة القيم النصية المشتركة بين قائمة 1 و list2، والتي يتم تخزينها في المتغير ، قائمة 3 . بعد ذلك ، تتم طباعة قيم متغيرات القائمة الثلاثة هذه.

#! / usr / bin / env python3

# تحديد قائمة 1
قائمة 1= ['فرحان'وعبيروعكاشو'مينا'و'Mazher']
# تحديد قائمة 2
قائمة 2= ['مينا'و'موينا'ونوبلو'أقرب'وعبيروفرحين]
# ابحث عن التقاطع باستخدام حلقة for وقم بتخزين النتيجة في list3
قائمة 3= [القيمةلالقيمةفيقائمة 1لوالقيمةفيقائمة 2]

# قائمة الطباعة 1
مطبعة(قيم list1:ن'وقائمة 1)
# قائمة الطباعة 2
مطبعة(قيم list2:ن'وقائمة 2)
# قائمة الطباعة 3
مطبعة(قيم list3 بعد تقاطع list1 و list2:ن'وقائمة 3)

انتاج |

سيظهر الإخراج التالي بعد تشغيل البرنامج النصي. هنا ، القيم النصية المشتركة للقائمتين هي عبير و 'مينا'.

مثال 4: تقاطع القوائم البسيطة والمتداخلة عبر طريقة المرشح ()

يوضح المثال التالي التقاطع بين قائمة بسيطة وقائمة متداخلة. ال منقي() طريقة و لامدا يتم استخدام الوظيفة في البرنامج النصي لإجراء التقاطع بين list1 و list2. عندما تحتوي القائمة على قائمة واحدة أو أكثر كعناصر قائمة ، فإن القائمة تسمى قائمة متداخلة. هنا، قائمة 1 قائمة بسيطة و قائمة 2 هي قائمة متداخلة ، بينما قائمة 3 يحتوي على قيم التقاطع لـ قائمة 1 و قائمة 2 .

#! / usr / bin / env python3

# تحديد قائمة بسيطة
قائمة 1= [22و 8و أربعة خمسةو أحد عشرو 3. 4و 9و عشرينو 7]
# تحديد قائمة متداخلة
قائمة 2= [[12و 9و عشرين]و [78و أحد عشرو 53و 8]و [2و 30و 31و أربعة خمسة]]
# إنشاء list3 عن طريق تقاطع list1 و list2 باستخدام عامل التصفية ()
قائمة 3= [قائمة(منقي(لامدان: نفيقائمة 1وشريحة)) لشريحةفيقائمة 2]

# قائمة الطباعة 1
مطبعة(قيم list1:ن'وقائمة 1)
# قائمة الطباعة 2
مطبعة(قيم list2:ن'وقائمة 2)
# قائمة الطباعة 3
مطبعة(قيم list3 بعد تقاطع list1 و list2:ن'وقائمة 3)

انتاج |

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

استنتاج

يعد تقاطع القائمة طريقة مفيدة للعثور على القيم المشتركة بين القوائم التي تحتوي على عدد كبير من عناصر القائمة. يتم عرض طرق تنفيذ تقاطع القائمة مع الوظائف المضمنة وبدونها في هذا البرنامج التعليمي. بعد قراءة هذه المقالة ، يجب أن يكون مفهوم تقاطع القائمة واضحًا ، ويجب أن تكون قادرًا على تطبيق تقاطع القائمة في البرنامج النصي الخاص بك باتباع أي طريقة موضحة في هذا البرنامج التعليمي.