เมื่อจำเป็นต้องทำการจับคู่ข้ามกันในรายการทูเพิล จะใช้เมธอด '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 สองรายการถูกบีบอัดและวนซ้ำ
-
ทำได้โดยใช้การทำความเข้าใจรายการ
-
ที่นี่จะเปรียบเทียบองค์ประกอบที่เกี่ยวข้องของทั้งสองรายการ
-
หากเท่ากัน จะถูกเก็บไว้ในรายการและกำหนดให้กับตัวแปร
-
ซึ่งจะแสดงเป็นเอาต์พุตบนคอนโซล