इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे।
समस्या कथन - हमें एक सेट दिया गया है, हमें आकार n के सभी सबसेट सूचीबद्ध करने की आवश्यकता है।
समस्या को हल करने के लिए हमारे पास तीन दृष्टिकोण हैं।
itertools.combinations() मेथड का उपयोग करना
उदाहरण
# itertools मॉड्यूल
import itertools
def findsubsets(s, n):
return list(itertools.combinations(s, n))
# मुख्य
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 मॉड्यूल
from itertools import combinations
def findsubsets(s, n):
return list(map(set, itertools.combinations(s, n)))
# ड्राइवर कोड
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
import itertools
def findsubsets(s, n):
return [set(i) for i in itertools.combinations(s, n)]
# ड्राइवर कोड
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}]
निष्कर्ष
इस लेख में, हमने सीखा है कि हम दिए गए आकार के सेट के सभी सबसेट कैसे प्राप्त कर सकते हैं।