का उपयोग करें सदस्यों का कहना है कि मेरे पास कस्टम ऑब्जेक्ट्स का सेट myset
है जो उनके बराबर हो सकता है हालांकि उनके संदर्भ अलग हैं (a == b and a is not b
)। अब अगर मैं सेट में add(a)
सेट करता हूं, तो पायथन सही ढंग से a in myset and b in myset
मानता है भले ही सेट में केवल len(myset) == 1
ऑब्जेक्ट है।पायथन: सेट
यह स्पष्ट है। लेकिन क्या अब का उपयोग करके सेट से किसी भी तरह a
के मूल्य को निकालना संभव है? मान लीजिए कि ऑब्जेक्ट्स म्यूटेबल हैं और मैं उन्हें दोनों को बदलना चाहता हूं, a
के प्रत्यक्ष संदर्भ को भूल गए हैं। अलग-अलग रखें, मैं myset[b]
ऑपरेशन की तलाश में हूं, जो सेट के सदस्य a
को वापस कर देगा।
ऐसा लगता है कि set
यह नहीं कर सकता है (इसके सभी सदस्यों के माध्यम से तेज़ होने से तेज़)। यदि हां, तो कम से कम एक प्रभावी काम है?
तुम क्यों यह करने के लिए की जरूरत है? यदि आपके पास पहले से 'बी' है, तो आपको' ए' की आवश्यकता क्यों है, जो बराबर है? –
यह एक बदसूरत आवश्यकता है ... –
@ करलकेनटेल: सेट के अंदर तत्व कहीं और (गहरी संरचना के अंदर से) से संदर्भित है और मैं इसका मूल्य बदलना चाहता हूं। वस्तुएं मूल रूप से 2 डी वेक्टर प्रकार के हैं, और वे उत्परिवर्तनीय हैं। – emu