在python中创建类实例,从列表中作为属性

时间:2011-11-18 03:44:40

标签: python

所以我有一个对象:

class Particle(object):
    def __init__(self, x, y, vx, vy, ax, ay):
        self._x = int(x)
        self._y = int(y)
        self._vx = int(vx)
        self._vy = int(vy)
        self._ax = int(ax)
        self._ay = int(ay)
        # ...

我想从数字列表中创建该对象的实例。我该怎么办? Particle(list)不起作用,因为它只输入列表,而不是列表中的每个值。非常感谢,我相信有一个非常明显的答案。

2 个答案:

答案 0 :(得分:3)

以明星名列前的名单:

def foo(a, b, c):
    print(a, b, c)

a = [1,2,3]
foo(*a)
# 1 2 3

星形解包列表,它提供3个单独的值。

答案 1 :(得分:2)

您需要的是“解包参数列表”。 以下是tutorial

的示例
>>> range(3, 6)             # normal call with separate arguments
[3, 4, 5]
>>> args = [3, 6]
>>> range(*args)            # call with arguments unpacked from a list
[3, 4, 5]