使用列表在python中启动类项目

时间:2018-08-18 00:03:50

标签: python

因此,我有一个可以将任意数量的列表作为参数的函数。对于每个列表,我想启动一个类对象。如何解开列表,以便直接将其传递给对象创建?

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]

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