ในบทความนี้ เราจะเรียนรู้เกี่ยวกับวิธีแก้ปัญหาตามที่ระบุด้านล่าง
แจ้งปัญหา − เราได้รับชุด เราจำเป็นต้องแสดงรายการชุดย่อยทั้งหมดของขนาด 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}]บทสรุป
ในบทความนี้ เราได้เรียนรู้เกี่ยวกับวิธีการรับชุดย่อยทั้งหมดของชุดขนาดที่กำหนด