में एन-कई सूचियों का चौराहे लेना पाइथन में एन-कई सूचियों के चौराहे को लेने का सबसे आसान तरीका क्या है?पायथन
अगर मैं दो सूचियों ए और बी है, मैं जानता हूँ कि मैं कर सकते हैं:
a = set(a)
b = set(b)
intersect = a.intersection(b)
लेकिन मैं की तरह एक & ख & ग & घ & कुछ करने के लिए ... सूचियों में से एक मनमाना सेट के लिए चाहते हैं (आदर्श रूप से पहले सेट में कनवर्ट किए बिना, लेकिन यदि यह सबसे आसान/सबसे प्रभावी तरीका है, तो मैं उससे निपट सकता हूं।)
आईई मैं एक फ़ंक्शन intersect (* args) लिखना चाहता हूं जो इसे मनमाने ढंग से कई सेटों के लिए कुशलता से करेगा। ऐसा करने का सबसे आसान तरीका क्या है?
संपादित करें: मेरा स्वयं का समाधान कम हो गया है (set.intersection, [ए, बी, सी]) - क्या यह अच्छा है?
धन्यवाद।
पर 'को कम()', यह नहीं है वास्तव में सबसे अच्छा विचार है, क्योंकि यह अजगर 3. में चरणबद्ध तरीके से समाप्त किया जा रहा है यह भी मैं क्या सुना है से धीमी,, पाश के लिए एक की तुलना में है। –
डुप्लिकेट: http://stackoverflow.com/questions/2893500/take-the-intersection-of-an-arbitrary-number-of-lists-in-python –
@Xavier: 'functools आयात से कम करें'। इसे 'बिल्टिन्स' से हटा दिया गया है, यह पूरी तरह से चरणबद्ध नहीं है। इसके अलावा, आपने अपनी गति के बारे में जो कुछ सुना है वह बेहद गलत है: यह लूप के मुकाबले बहुत तेज़ या धीमा हो सकता है। – tzot