2012-04-12 53 views
2

我有一個返回的有效的方式

x = (1, 2, 3, 4, 5, 6, 7, 8, 9) 

元組我也有要求10個總ARGS(包括自身)

我想要的類的功能元組要能夠以填充類ARGS,但如果我只是把

y = Class(x) 

則返回錯誤

> TypeError: __init__() takes exactly 10 arguments (2 given) 

我知道這將有可能只使用

y = Class(x[0], x[1], ... x[8]) 

,但似乎非常長篇大論。有沒有更好的方法來做到這一點?

回答

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 
+1

我看到這得到被稱爲 '圖示' 運營商很多。有用的東西。 – 2012-04-12 20:41:25