2024-03-28 14:29:44 发布
网友
我想将字典的某些值转换为多个参数,并将其传递给一个方法。dict的键必须是传递给方法的变量的名称。你知道吗
例如:
myDict={'one':1,'two':2,'three':3,'four':4} #call myMethod as myMethod(one=1,two=2) def myMeth(self,*args): do somthing with args
使用**传递或接受字典参数。以下代码
**
d={'foo': 'bar','test': 123} def my_method(**kwargs): print kwargs my_method(**d)
将打印d,{'foo': 'bar','test': 123}的内容
d
{'foo': 'bar','test': 123}
编辑:@Matthew的答案通过*args的比较很好地总结了这一点。你知道吗
*args
您可以使用解包符号。如果你有这样的方法
def function(arg1,arg2,arg3): # do something
和一个字典dct = {'arg1':3,'arg2':3,'arg3':6},您可以调用如下函数
dct = {'arg1':3,'arg2':3,'arg3':6}
function(**dct)
这相当于做function(arg1=3,arg2=3,arg3=6)。你知道吗
function(arg1=3,arg2=3,arg3=6)
注意双星。这意味着接受字典并将其值作为命名参数传递,其中键是名称。单个星号将解压一个列表,将其值作为未命名参数按顺序传递。这些可以结合起来。你知道吗
有关详细信息,请参阅python文档的4.7.4部分。Here也是另一篇讨论这些问题的文章。你知道吗
使用
**
传递或接受字典参数。以下代码将打印
d
,{'foo': 'bar','test': 123}
的内容编辑:@Matthew的答案通过
*args
的比较很好地总结了这一点。你知道吗您可以使用解包符号。如果你有这样的方法
和一个字典
dct = {'arg1':3,'arg2':3,'arg3':6}
,您可以调用如下函数这相当于做
function(arg1=3,arg2=3,arg3=6)
。你知道吗注意双星。这意味着接受字典并将其值作为命名参数传递,其中键是名称。单个星号将解压一个列表,将其值作为未命名参数按顺序传递。这些可以结合起来。你知道吗
有关详细信息,请参阅python文档的4.7.4部分。Here也是另一篇讨论这些问题的文章。你知道吗
相关问题 更多 >
编程相关推荐