मान लीजिए कि मेरे पास सेट की एक सूची है और मैं उस सूची में सभी सेटों पर संघ प्राप्त करना चाहता हूं। जनरेटर अभिव्यक्ति का उपयोग करके ऐसा करने का कोई तरीका है? दूसरे शब्दों में, मैं उस सूची में सीधेfrozenset
के रूप में सभी सेटों पर संघ कैसे बना सकता हूं?जनरेटर अभिव्यक्ति का उपयोग करके कई सेटों का संघ कैसे बनाएं?
उत्तर
बस the .union()
method का उपयोग करें।
>>> l = [set([1,2,3]), set([4,5,6]), set([1,4,9])]
>>> frozenset().union(*l)
frozenset([1, 2, 3, 4, 5, 6, 9])
यह पुनरावृत्तियों के किसी भी पुनरावर्तनीय के लिए काम करता है।
बस ध्यान दें कि 'frozenset.union' को एक अनबाउंड विधि के रूप में उपयोग करने के लिए क्लीनर है, यदि 'l' में' frozenset's eg 'Frozenset.union (* एल)'। 'Set.union' के लिए वही। – vaultah
नेस्टेड जेनरेटर अभिव्यक्ति। लेकिन मुझे लगता है कि वे थोड़ा सा गूढ़ हैं, इसलिए जिस तरह से केनीटीएम सुझाव दिया गया वह स्पष्ट हो सकता है।
frozenset(some_item for some_set in some_sets for some_item in some_set)
चतुरता के लिए +1 – aaronasterling
यह वास्तव में स्पष्ट है, लेकिन केनी के समाधान से लगभग 4 गुना धीमी है – fransua
मुझे लगता है कि क्या आप से बचने के लिए कोशिश कर रहे हैं frozenset वस्तुओं के मध्यवर्ती कृतियों आप संघ का निर्माण कर रहे हैं के रूप में है?
इसे करने का एक तरीका यहां है। नोट: इस मूल itertools.chain()
थे, लेकिन केनी की टिप्पणी नोटों के रूप में, नीचे दिए गए संस्करण थोड़ा बेहतर है:
import itertools
def mkunion(*args):
return frozenset(itertools.chain.from_iterable(args))
आह्वान इस तरह:
a = set(['a','b','c'])
b = set(['a','e','f'])
c = mkunion(a,b) # => frozenset(['a', 'c', 'b', 'e', 'f'])
यदि आप '.chain (* args) 'पर जा रहे हैं तो' chain.from_iterable' 'का उपयोग करें। – kennytm
@ केनीटीएम: अच्छा बिंदु, मैंने बदलाव किया है। –
मेरे प्रदर्शन परीक्षण परिणाम (पायथन 3 के साथ): सेट्स की संख्या <10000 की संख्या के साथ केनीटीएम की प्रतिक्रिया थोड़ा तेज़ है, लेकिन यह प्रतिक्रिया 30000 सेट के साथ थोड़ा तेज है –
- 1. अभिव्यक्ति पेड़ का उपयोग करके एक खाली प्रतिनिधि कैसे बनाएं?
- 2. पायथन: कई .png छवियों का उपयोग करके एक वीडियो बनाएं
- 3. सेलेनियम का उपयोग करके कुकी कैसे बनाएं?
- 4. एफ # जनरेटर का जनरेटर?
- 5. नींबू पार्सर जनरेटर का उपयोग करके "अपेक्षित टोकन"
- 6. विंडोज में पुटी का उपयोग करके एसएसएच सुरंग कैसे बनाएं?
- 7. पॉको इकाई जनरेटर का उपयोग कैसे करें
- 8. नियमित अभिव्यक्ति जनरेटर/reducer?
- 9. पायथन जनरेटर अभिव्यक्ति विषमता
- 10. निर्देशों का उपयोग करके कई कैसे लिखते हैं?
- 11. स्थिर फैक्ट्री विधि का उपयोग करके ऑब्जेक्ट्स कैसे बनाएं?
- 12. ज़ेंड फ्रेमवर्क का उपयोग करके साइटमैप कैसे बनाएं?
- 13. सी, pthread_create फ़ंक्शन का उपयोग करके थ्रेड कैसे बनाएं
- 14. विंडोज़ पर नेट का उपयोग करके आईफोन ऐप्स कैसे बनाएं?
- 15. JMSSerializerBundle का उपयोग करके एक अच्छा हाइपरमीडिया प्रारूप कैसे बनाएं?
- 16. फ़ोनगैप का उपयोग करके टैब बार कैसे बनाएं
- 17. रेल में माइग्रेशन का उपयोग करके mysql ट्रिगर्स कैसे बनाएं?
- 18. रूबी पर रूबी का उपयोग करके ज़िप संग्रह कैसे बनाएं?
- 19. सी एक्सेल का उपयोग करके एक्सेल सेल कैसे बनाएं?
- 20. सीएसएस का उपयोग करके एक जटिल तालिका कैसे बनाएं?
- 21. AsyncTask क्लास का उपयोग करके एचटीपी कनेक्शन कैसे बनाएं?
- 22. SwipeyTabs - ActionBarSherlock लाइब्रेरी का उपयोग करके स्वाइप टैब कैसे बनाएं?
- 23. ASP.NET का उपयोग करके ज़िप फ़ाइल कैसे बनाएं और भरें?
- 24. .NET IO कक्षाओं का उपयोग करके टेस्टेबल कोड कैसे बनाएं?
- 25. सी ++: boost :: property_tree का उपयोग करके सरणी कैसे बनाएं?
- 26. नियमित अभिव्यक्ति पार्सर जनरेटर
- 27. नियमित अभिव्यक्ति का उपयोग कैसे करें "30M1000N20M"
- 28. वेबसाइटों में सीएसएस का उपयोग करके "इन्सेट" प्रभाव बनाएं
- 29. पायथन: नियमित अभिव्यक्ति का उपयोग करके सूची अनुक्रमणिका प्राप्त करें?
- 30. जनरेटर अभिव्यक्ति बनाम सूची समझ
भी देखें: http://stackoverflow.com/ ए/5182801/1 9 5 9 808 –