เมื่อจำเป็นต้องทำการจับคู่ข้ามกันในรายการทูเพิล จะใช้เมธอด 'zip', list comprehension และโอเปอเรเตอร์ '=='
ตัวอย่าง
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -
my_list_1 = [('Hi', 'Will'), ('Jack', 'Python'), ('Bill', 'Mills'), ('goodwill', 'Jill')] my_list_2 = [('Hi', 'Band'), ('Jack', 'width'), ('Bill', 'cool'), ('a', 'b')] print("The first list is : " ) print(my_list_1) print("The second list is :") print(my_list_2) my_list_1.sort() my_list_2.sort() print("The first list after sorting is ") print(my_list_1) print("The second list after sorting is ") print(my_list_2) my_result = [(a[1], b[1]) for a, b in zip(my_list_1, my_list_2) if a[0] == b[0]] print("The resultant list is : ") print(my_result)
ผลลัพธ์
The first list is : [('Hi', 'Will'), ('Jack', 'Python'), ('Bill', 'Mills'), ('goodwill', 'Jill')] The second list is : [('Hi', 'Band'), ('Jack', 'width'), ('Bill', 'cool'), ('a', 'b')] The first list after sorting is [('Bill', 'Mills'), ('Hi', 'Will'), ('Jack', 'Python'), ('goodwill', 'Jill')] The second list after sorting is [('Bill', 'cool'), ('Hi', 'Band'), ('Jack', 'width'), ('a', 'b')] The resultant list is : [('Mills', 'cool'), ('Will', 'Band'), ('Python', 'width')]
คำอธิบาย
-
มีการกำหนดรายการทูเพิลสองรายการ และแสดงบนคอนโซล
-
รายการทั้งสองนี้จะเรียงลำดับจากน้อยไปหามาก และแสดงบนคอนโซล
-
tuples สองรายการถูกบีบอัดและวนซ้ำ
-
ทำได้โดยใช้การทำความเข้าใจรายการ
-
ที่นี่จะเปรียบเทียบองค์ประกอบที่เกี่ยวข้องของทั้งสองรายการ
-
หากเท่ากัน จะถูกเก็บไว้ในรายการและกำหนดให้กับตัวแปร
-
ซึ่งจะแสดงเป็นเอาต์พุตบนคอนโซล