我想使用字典在python中调用一个函数。
这是一些代码:
d = dict(param='test')
def f(param):
print(param)
f(d)
这将打印{'param': 'test'}但我希望仅打印test 。
我希望它可以类似地工作以获取更多参数:
d = dict(p1=1, p2=2)
def f2(p1, p2):
print(p1, p2)
f2(d)
这可能吗?
#1楼
在这里-可以进行其他任何迭代:
d = {'param' : 'test'}
def f(dictionary):
for key in dictionary:
print key
f(d)
#2楼
最后自己解决了。 很简单,我只是缺少**运算符来解开字典
因此,我的示例变为:
d = dict(p1=1, p2=2)
def f2(p1,p2):
print p1, p2
f2(**d)
#3楼
在python中,这称为“拆包”,您可以在本教程中找到有关它的信息。 我同意,它的文档很烂,尤其是因为它是如此的有用。
#4楼
In[1]: def myfunc(a=1, b=2):
In[2]: print(a, b)