मुझे लगता है कि यह सेट mutable
से संबंधित हो सकता है।किसी सेट से तत्व को कैसे निकालें?
असल में, मैं set.discard(element)
का उपयोग कर एक सेट से तत्व हटा सकता हूं। हालांकि, set.discard(element)
स्वयं None
लौटाता है। लेकिन मैं अद्यतन सेट की एक प्रति प्राप्त करना चाहता हूं। उदाहरण के लिए, यदि मेरे पास सेट की एक सूची है, तो मैं सूची समझने के संचालन का उपयोग करके आसानी से एक अद्यतन प्रति कैसे प्राप्त कर सकता हूं?
नमूना कोड:
test = [{'', 'a'}, {'b', ''}]
print [x.discard('') for x in test]
print test
वापस आ जाएगी
[None, None]
[set(['a']), set(['b'])]
SOF इस तरह के एक अद्भुत स्थान है! @thefourtheye और @roippi दोनों अच्छी तरह से काम का जवाब देते हैं! @roippi उत्तर में एक गति लाभ है और इसमें भी व्यापक आवेदन हो सकता है। मैंने केवल @thefourtheye उत्तर स्वीकार किया क्योंकि यह मेरे मामले में आसानी से काम करता है, जहां सूचियों की सूची से सेट की सूची उत्पन्न होती है। तो मैं बस सूची में एक्स के लिए '[सेट (एक्स) - {' '} कोड कर सकता हूं] '। लेकिन आप दोनों के लिए बहुत धन्यवाद! –
क्या सूची समझ को मूल सेट में कोई संशोधन नहीं होने के साथ सेट की एक स्वतंत्र सूची में परिणाम होना चाहिए, या इसे मूल को संशोधित करना चाहिए? यदि आप मूल को संशोधित करना चाहते हैं, तो सबसे अच्छी सूची सूची का उपयोग न करना सबसे अच्छा है; एक 'फॉर लूप अधिक उपयुक्त है। – user2357112
@ user2357112 मैं मूल को संशोधित करना चाहता हूं (यह वास्तव में कोई फर्क नहीं पड़ता है लेकिन डेटासेट बड़ा होने के बाद से, मैं प्रतियां बनाना नहीं चाहता हूं)। इस मामले में सूची समझ से 'लूप' के लिए क्या कारण है? –