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

โปรแกรม Python เพื่อรับชุดย่อยทั้งหมดของขนาดที่กำหนดของ set


ในบทความนี้ เราจะเรียนรู้เกี่ยวกับวิธีแก้ปัญหาตามที่ระบุด้านล่าง

แจ้งปัญหา − เราได้รับชุด เราจำเป็นต้องแสดงรายการชุดย่อยทั้งหมดของขนาด n

เรามีสามแนวทางในการแก้ปัญหา -

การใช้ itertools.combinations() วิธีการ

ตัวอย่าง

# itertools moduleimport itertoolsdef findsubsets(s, n):return list(itertools.combinations(s, n))#mains ={1,2,3,4,5}n =4print(findsubsets(s, n) )

ผลลัพธ์

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

การใช้ map() และ combination() วิธีการ

ตัวอย่าง

# โมดูล itertools จาก itertools นำเข้าชุดค่าผสมdef findsubsets(s, n):รายการส่งคืน (map (set, itertools.combinations(s, n)))# รหัสไดรเวอร์ ={1, 2, 3, 4, 5}n =4print(findsubsets(s, n))

ผลลัพธ์

<ก่อนหน้า>[{1, 2, 3, 4}, {1, 2, 3, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}, {2, 3, 4 , 5}]

การใช้ความเข้าใจในรายการที่ทำซ้ำได้

ตัวอย่าง

# itertoolsimport itertoolsdef findsubsets(s, n):return [set(i) for i in itertools.combinations(s, n)]# Driver Codes ={1, 2, 3, 4, 5}n =4print( findsubsets(s, n))

ผลลัพธ์

<ก่อนหน้า>[{1, 2, 3, 4}, {1, 2, 3, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}, {2, 3, 4 , 5}]

บทสรุป

ในบทความนี้ เราได้เรียนรู้เกี่ยวกับวิธีการรับชุดย่อยทั้งหมดของชุดขนาดที่กำหนด