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

พีชคณิตที่เป็นไปได้ทั้งหมดของรายการ N ใน Python


ถ้าเรามีสองรายการและเราต้องรวมแต่ละองค์ประกอบขององค์ประกอบแรกกับแต่ละองค์ประกอบของรายการที่สอง เราก็มีแนวทางดังต่อไปนี้

ใช้สำหรับวนรอบ

ในแนวทางตรงไปตรงมานี้ เราสร้างรายการที่มีการเรียงสับเปลี่ยนขององค์ประกอบจากแต่ละรายการ เราออกแบบ a for loop ในอีก for loop inner for loop หมายถึงรายการที่สอง และ Outer follow หมายถึงรายการแรก

ตัวอย่าง

A = [5,8]
B = [10,15,20]

print ("The given lists : ", A, B)
permutations = [[m, n] for m in A for n in B ]

ผลลัพธ์

การเรียกใช้โค้ดด้านบนทำให้เราได้ผลลัพธ์ดังต่อไปนี้:

The given lists : [5, 8] [10, 15, 20]
permutations of the given values are : [[5, 10], [5, 15], [5, 20], [8, 10], [8, 15], [8, 20]]

การใช้ itertools

โมดูล itertools มีตัววนซ้ำชื่อผลิตภัณฑ์ มันทำสิ่งเดียวกันกับสิ่งที่ลูปที่ซ้อนกันด้านบนทำ สร้างซ้อนกันสำหรับลูปภายในเพื่อให้ผลิตภัณฑ์ที่ต้องการ

ตัวอย่าง

import itertools

A = [5,8]
B = [10,15,20]

print ("The given lists : ", A, B)
result = list(itertools.product(A,B))
print ("permutations of the given lists are : " + str(result))

ผลลัพธ์

การเรียกใช้โค้ดด้านบนทำให้เราได้ผลลัพธ์ดังต่อไปนี้:

The given lists : [5, 8] [10, 15, 20]
permutations of the given values are : [(5, 10), (5, 15), (5, 20), (8, 10), (8, 15), (8, 20)]