论坛首页 编程语言技术论坛

整个list展开作为函数参数的方法

浏览 13634 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (7) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-09-09   最后修改:2010-09-09

首先不要标题理解为是把list传递给函数作为参数,这个当然是人人都知道的。

 

我这里要讲可以用下面这个例子来演示:

 

有这样一个画图函数plot(), 给定数据d1, d2, d3,则可以用plot(d1, d2, d3)来把三组数据画在一张图上,但函数plot不支持plot([d1, d2, d3])。看起来这两个的区别不大,但是如果对于编程画图,如果不知道数据组的个数d1, d2 ... dn,我们是没法调用plot函数的。

 

那么怎么办?python中其实是可以办到的,而且很简单!

 

让d=[d1,d2,...dn]

 

然后调用plot的时候用plot(*d)就可以了。

 

 

这个是我在实际中遇到的例子,有一个Gnuplot.py中的plot函数就是我上文说的情况。

   发表时间:2010-09-09  
你还可以把字典展开作为kw参数  加**就行了,,,囧
1 请登录后投票
   发表时间:2010-09-25   最后修改:2010-09-25
终于要把 apply 给淘汰了
0 请登录后投票
   发表时间:2010-10-01  
python是淘汰不掉的,现在应用很广泛。
0 请登录后投票
   发表时间:2010-11-22  
def a(b,c):
    print b,c

a(1,2)
a(*[1,2])
a(**{'b':1,'c':2})

学习了!
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics