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

โปรแกรม Python หาสับเซตทั้งหมดขนาดกำหนดของเซต

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

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

มี 3 วิธีแก้ปัญหา

ใช้เมธอด itertools.combinations()

ตัวอย่าง

# itertools module
import itertools

def findsubsets(s, n):
    return list(itertools.combinations(s, n))

# main
s = {1, 2, 3, 4, 5}
n = 4
print(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 module
from itertools import combinations

def findsubsets(s, n):
    return list(map(set, itertools.combinations(s, n)))

# Driver Code
s = {1, 2, 3, 4, 5}
n = 4
print(findsubsets(s, n))

ผลลัพธ์

[{1, 2, 3, 4}, {1, 2, 3, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}, {2, 3, 4, 5}]

ใช้ List Comprehension

ตัวอย่าง

# itertools
import itertools

def findsubsets(s, n):
    return [set(i) for i in itertools.combinations(s, n)]

# Driver Code
s = {1, 2, 3, 4, 5}
n = 4
print(findsubsets(s, n))

ผลลัพธ์

[{1, 2, 3, 4}, {1, 2, 3, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}, {2, 3, 4, 5}]

สรุป

ในบทความนี้ เราได้เรียนรู้วิธีหาสับเซตทั้งหมดขนาดกำหนดของเซตด้วย itertools.combinations() 3 รูปแบบการคืนค่า