2010-07-13 8 views
5

क्या setattr() का एक एनालॉग है जो किसी तत्काल श्रेणी ऑब्जेक्ट की मनमानी सूची संपत्ति को जोड़ने की अनुमति देता है? यदि नहीं, तो ऐसा करने का एक अनुशंसित तरीका है?एक मनमानी वर्ग ऑब्जेक्ट सूची संपत्ति को जोड़ने के लिए पाइथोनिक वाक्यविन्यास

foo = SomeClass() 
... 
attr = "names" 
value = "Eric" 
values = getattr(foo, attr) 
values.append(value) 
setattr(foo, attr, values) 

यह भद्दा और अक्षम लगता है:

यह मैं वर्तमान में क्या कर रही हूं की एक trivialized संस्करण है।

संपादित करें: यह मानता है कि foo.names (या जो भी मनमानी मान एटीआर वैरिएबल को असाइन किया जा सकता है) वास्तव में एक सूची है।

उत्तर

12

setattr कॉल अनावश्यक है, अगर foo.names वास्तव में एक सूची है (अगर यह कुछ और ही है, तो आप कृपया स्पष्ट कर सकते?)। getattr(foo, attr).append(value) आपको बस इतना चाहिए।

+0

बेशक! धन्यवाद। – heydenberk

+0

@heydenberk, आपका स्वागत है! –

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