Python是否具有与scheme的apply相同的功能?我注意到Python的reduce对两个参数的函数起作用,并递归地应用它,这是非常不同的。
我应该自己写吗?我缺少一些模块吗?
答案 0 :(得分:5)
Python相当于Scheme的应用是在参数上使用*
和/或**
前缀。
例如:
>>> my_list = [1, 2]
>>> operator.add(*my_list)
3
*
前缀用于位置参数的序列,**
前缀用于字典中的关键字参数。 (这反映了它们在形式参数声明中的用法。)
答案 1 :(得分:2)
虽然参数解包(如Laurence的论证所示)是正确的方法来做你想要的(也就是说,它被认为是最好的Python风格),但从技术上来说,与Scheme的apply
相当的精确Python是Python的{ {3}},即使现已弃用。