Python - neat way of creating multiple objects?
object, oop, python
Solution
If you have objects with the names `object_1`, `object_2` etc. and want to perform common operations on all these objects, this is a clear sign that you should actually be using a list `objects`, and use loops to perform the common operations.
props = <some list here>
objects = [MyClass(property=foo, property2=prop) for prop in props]
for obj in objects:
obj.do_stuff(variable=foobar)
Problem
I'm fairly new to Python and I have a question about a neat way of creating multiple objects with different properties. At the moment I am having to specifically create each one like this: ``` object1 = MyClass(property=foo,property2=bar) object1.DoStuff(variable = foobar) object2 = MyClass(property=foo,property2=bar2) object2.DoStuff(variable = foobar) object3 = MyClass(property=foo,property2=bar3) object3.DoStuff(variable = foobar) ``` My problem is that I want to create dozens of objects in this way and having to manually create each one like this seems like very bad programming. Is there a better way to create multiple objects with slightly different properties? I guess what I want to do is something like: ``` list = [prop1, prop2, prop3, prop4, prop5] while i < len(list) object_i = MyClass(property=foo,property2=list[i]) object_i.DoStuff(variable = foobar) i+=1 ``` And have this create 5 objects named object_1, object_2, etc etc Is this possible?