因此,我有一个可以将任意数量的列表作为参数的函数。对于每个列表,我想启动一个类对象。如何解开列表,以便直接将其传递给对象创建?
list_of_routes = []
class Rope_route():
def __init__(self, setter, color, grade):
self.setter = setter
self.color = color
self.grade = grade
def set_route(*args)
#each arg should be [setter, color, grade]
for item in args
list_of_routes.append(Rope_route(item))
set_route(['jimmy','green','v1'],['jonny','blue','v0'])
有比解决以下问题更好的方法吗?
def __init__(self, args_as_list)
self.setter = args_as_list[0]
self.color = args_as_list[1]
self.grade = args_as_list[2]
答案 0 :(得分:1)
您可以使用*
将列表作为参数扩展,例如:
def set_route(*args):
#each arg should be [setter, color, grade]
return [Rope_route(*item) for item in args]
list_of_routes = set_route(...)
注意:返回值比修改全局变量更好。
答案 1 :(得分:0)
怎么样:
def __init__(self, args_as_list):
self.setter, self.color, self.grade = args_as_list