Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python - สร้างคู่จากสองรายการเพื่อให้องค์ประกอบไม่เหมือนกันในคู่


ในบทความนี้ เราจะมาเรียนรู้วิธีสร้างคู่จากสองรายการ โดยที่องค์ประกอบที่คล้ายคลึงกันจะไม่สร้างคู่ ทำตามขั้นตอนด้านล่างเพื่อแก้ไขปัญหา

  • เริ่มต้นรายการด้วยองค์ประกอบ
  • วนซ้ำรายการและผนวกคู่เข้าในรายการหากองค์ประกอบที่เกี่ยวข้องจากรายการไม่เหมือนกัน
  • พิมพ์ผลลัพธ์

ตัวอย่าง

มาดูโค้ดกันเลย

# การเริ่มต้น listlist_1 =[1, 2, 3, 4, 5]list_2 =[5, 8, 7, 1, 3, 6]# การสร้างคู่ผลลัพธ์ =[(i, j) สำหรับฉันใน list_1 สำหรับ j ใน list_2 if i !=j]# พิมพ์ผลการพิมพ์ (ผลลัพธ์)

หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้

ผลลัพธ์

<ก่อนหน้า>[(1, 5), (1, 8), (1, 7), (1, 3), (1, 6), (2, 5), (2, 8), (2, 7 ), (2, 1), (2, 3), (2, 6), (3, 5), (3, 8), (3, 7), (3, 1), (3, 6), (4, 5), (4, 8) (4, 7), (4, 1), (4, 3), (4, 6), (5, 8) (5, 7), (5 , 1), (5, 3), (5, 6)]

เราสามารถแก้ปัญหาด้วยโมดูล itertools ได้เช่นกัน มันมีวิธีการที่เรียกว่าผลิตภัณฑ์ที่ทำให้คู่ขององค์ประกอบทั้งหมด เราสามารถกรองคู่หลังจากหาคู่ได้

ตัวอย่าง

มาดูโค้ดกันเลย

# การนำเข้า moduleimport itertools# การเริ่มต้น listlist_1 =[1, 2, 3, 4, 5]list_2 =[5, 8, 7, 1, 3, 6]# pairspairs =itertools.product(list_1, list_2) # การกรอง pairsresult =[pair for pair in pairs if pair[0] !=pair[1]]# printing the resultprint(result)

หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้

ผลลัพธ์

<ก่อนหน้า>[(1, 5), (1, 8), (1, 7), (1, 3), (1, 6), (2, 5), (2, 8), (2, 7 ), (2, 1), (2, 3), (2, 6), (3, 5), (3, 8), (3, 7), (3, 1), (3, 6), (4, 5), (4, 8) (4, 7), (4, 1), (4, 3), (4, 6), (5, 8) (5, 7), (5 , 1), (5, 3), (5, 6)]

บทสรุป

หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้