Tutorial :Pythonic syntax for appending an arbitrary class object list property



Question:

Is there an analog of setattr() that allows for appending an arbitrary list property of an instantiated class object? If not, is there a recommended way of doing so?

This is a trivialized version of what I'm doing currently:

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

This seems clunky and inefficient.

Edit: this assumes that foo.names (or whatever arbitrary value might be assigned to the attr variable) is in fact a list.


Solution:1

The setattr call is redundant, if foo.names is indeed a list (if it's something else, could you please clarify?). getattr(foo, attr).append(value) is all you need.


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »