我有一个返回
元组的函数x = (1, 2, 3, 4, 5, 6, 7, 8, 9)
我还有一个类需要10个args(包括self)
我希望元组能够填充类中的args,但如果我只是把
y = Class(x)
它返回错误
> TypeError: __init__() takes exactly 10 arguments (2 given)
我知道可以使用
y = Class(x[0], x[1], ... x[8])
但这似乎非常冗长。有没有更好的方法呢?
答案 0 :(得分:9)
Class(*x)
答案 1 :(得分:6)
您需要unpack:
>>> def foo(a, b, c, d, e, f, g, h, i, j):
... return a
...
>>> x = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
>>> foo(*x)
1