2012-04-26 13 views
5

का पावर सेट और कार्टेशियन उत्पाद दो अलग-अलग सेटों के कार्टेशियन उत्पाद को खोजने का प्रयास कर रहा हूं। मैं वेब पर कुछ भी नहीं ढूंढ सकता है जो सेट्स के कार्टेशियन उत्पादों के बारे में है, यह सूची या शब्दकोशों में से एक है।एक सेट पायथन

भी बिजली सेट बहुत भ्रमित है।

इनमें से कोई भी मेरी पुस्तक में नहीं है जिसका उपयोग मैं कर रहा हूं।

क्या आप में से एक सही दिशा में इंगित कर सकता है।

उत्तर

12

कार्टेशियन उत्पाद के लिए, itertools.product देखें।

def powerset(iterable): 
    "powerset([1,2,3]) -->() (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3)" 
    s = list(iterable) 
    return chain.from_iterable(combinations(s, r) for r in range(len(s)+1)) 

उदाहरण के लिए::

Powerset के लिए, the itertools docs भी हमें एक नुस्खा दे

>>> test = {1, 2, 3} 
>>> list(powerset(test)) 
[(), (1,), (2,), (3,), (1, 2), (1, 3), (2, 3), (1, 2, 3)] 
>>> list(product(test, test)) 
[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)] 
+0

संपादित यह इसे बनाया के लिए धन्यवाद एक बहुत अधिक स्पष्ट मैं इन में लागू करने के लिए कोशिश कर रहा हूँ मेरा कोड वर्तमान में मुझे itertools आयात करने की आवश्यकता है? एक बार फिर धन्यवाद! – bradb

+0

हां, आपको उन कार्यों को आयात करने की आवश्यकता है जिन्हें आप 'iertotools'' से उपयोग करते हैं, जैसा कि आप किसी अन्य मॉड्यूल से उपयोग करते हैं। –

+0

पावरसेट को 's = set (iterable)' के साथ बेहतर परिभाषित किया जा सकता है। – Darthfett

संबंधित मुद्दे