logo

תוכנית Python למציאת צומת של שתי רשימות

במדריך זה, נדון כיצד נוכל לקבל את ההצטלבות של שתי הרשימות. ההצטלבות של שתי רשימות פירושה שאנחנו צריכים להביא את כל האלמנטים המוכרים לשתי הרשימות הראשוניות.

פִּיתוֹן ידוע במבנה הנתונים המובנה המעולה שלו. רשימת Python היא אחד מסוגי הנתונים המובנים המפורסמים ובעלי הערך של Python. זה יכול לאחסן את ערכי סוגי הנתונים השונים בסדר ממוין. עם זאת, אין פונקציה מובנית עבור רשימות כמו סטים.

שנה שהמחשב הומצא

Python מספקת את הדרכים הרבות לבצע את ההצטלבות של הרשימות. בואו נראה את התרחיש הבא.

קלט:

 list1 = [40, 90, 11, 58, 31, 66, 28, 54, 79] list2 = [58, 90, 54, 31, 45, 11, 66, 28, 26] 

תְפוּקָה:

 [90, 11, 58, 31, 66, 28, 54] 

קלט:

 list1 = [4, 9, 1, 17, 11, 26, 28, 54, 69] list2 = [9, 9, 74, 21, 45, 11, 63, 28, 26] 

תְפוּקָה:

 [9, 11, 26, 28] 

בוא נראה את השיטות הבאות כדי לקבל חיתוך של שתי רשימות.

שיטה - 1: שימוש בלולאה

 # Python program to get the intersection # of two lists in most simple way def intersection_list(list1, list2): list3 = [value for value in list1 if value in list2] return list3 # Driver Code list1 = [40, 90, 11, 58, 31, 66, 28, 54, 79] list2 = [58, 90, 54, 31, 45, 11, 66, 28, 26] print(intersection_list(list1, list2)) 

תְפוּקָה:

 [90, 11, 58, 31, 66, 28, 54] 

השתמשנו ב- for loop כדי לקבל את הערך המשותף משתי הרשימות ואחסנו אותו במשתנה list3.

שיטה - 2: המרת רשימה לסט

 def intersection_list(list1, list2): return list(set(list1) & set(list2)) list1 = [40, 90, 11, 58, 31, 66, 28, 54, 79] list2 = [58, 90, 54, 31, 45, 11, 66, 28, 26] print(intersection_list(list1, list2)) 

תְפוּקָה:

 [66, 90, 11, 54, 58, 28, 31] 

שיטה - 3:

נשתמש בסט המובנה הִצטַלְבוּת() שיטה. ה הִצטַלְבוּת() הוא חלק מהמעלה הראשונה של הסט. בואו נבין את הדוגמה הבאה.

דוגמא -

לזרוק ב-java טיפול חריג
 # Python program to get the intersection # of two lists using set() and intersection() def intersection_list(list1, list2): return set(list1).intersection(list2) list1 = [40, 90, 11, 58, 31, 66, 28, 54, 79] list2 = [58, 90, 54, 31, 45, 11, 66, 28, 26] print(intersection_list(list1, list2)) 

תְפוּקָה:

 {66, 90, 11, 54, 58, 28, 31} 

שיטה - 4:

בשיטה זו נשתמש בשיטה ההיברידית. זוהי דרך יעילה מאוד לבצע את המשימה. בואו נבין את הדוגמה הבאה.

דוגמא -

 # Python program to get the intersection # of two lists def intersection(list1, list2): # Use of hybrid method temp = set(list2) list3 = [value for value in list1 if value in temp] return list3 list1 = [40, 90, 11, 58, 31, 66, 28, 54, 79] list2 = [58, 90, 54, 31, 45, 11, 66, 28, 26] print(intersection(list1, list2)) 

תְפוּקָה:

 [90, 11, 58, 31, 66, 28, 54] 

שיטה - 5:

בשיטה זו, נשתמש ב- לְסַנֵן() שיטה. ההצטלבות מתבצעת על פני רשימות משנה בתוך רשימות אחרות. בואו נבין את הדוגמה הבאה.

דוגמא -

 # Python program togetthe intersection # of two lists, sublists and use of filter() def intersection_list(list1, list2): list3 = [list(filter(lambda x: x in list1, sublist)) for sublist in list2] return list3 list1 = [10, 9, 17, 40, 23, 18, 56, 49, 58, 60] list2 = [[25, 17, 23, 40, 32], [1, 10, 13, 27, 28], [60, 55, 61, 78, 15, 76]] print(intersection_list(list1, list2)) 

תְפוּקָה:

 [[17, 23, 40], [10], [60]] 

ה לְסַנֵן() השיטה לוקחת כל פריט ברשימה המשנה ובודקת אם הוא קיים ברשימה1. הבנת הרשימה מבוצעת עבור כל תת-רשימה ברשימה2.