例如,假设我有一个列表:
people = ["bob", "tom", "joe"]
我想为每个名字创建一个类实例。
我猜测没有简单的方法可以动态创建变量名称,如下所示:
for num in range(0, 3):
person_"num" = Person(people[num])
我如何做到这一点?
答案 0 :(得分:2)
根据评论中的建议使用字典对此有好处:
people = ["bob", "tom", "joe"]
person_lookup = {}
for p in people:
person_lookup[p] = Person(p)
或更具惯用语:
people = ["bob", "tom", "joe"]
person_lookup = {p: Person(p) for p in people}
然后使用:
person_lookup["bob"].some_method_on_person()
答案 1 :(得分:1)
您可以使用exec
来完成目标。
for num in range(0, 3):
exec("person_"+str(num)+" = Person(people[num])")
答案 2 :(得分:0)
为什么不使用 scope "/", ExAdmin do
pipe_through :browser
post "/clients", ClientController, :create
end
的列表呢?
Person
然后你可以按编号索引它们。