这个问题与这里的问题类似:
然而,在我的情况下,我有一个充满了许多键和值的大字典,我将无法枚举每个键来实现这个解决方案:
from operator import itemgetter
params = {'a': 1, 'b': 2}
a, b = itemgetter('a', 'b')(params)
在我的例子中:
from operator import itemgetter
params = {'a': 1, 'b': 2 ........... 'y': 25, 'z': 26 }
a, b ..... y, z = itemgetter('a', 'b'.... 'y', 'z')(params)
是否有任何方法我可以解包并分配每个键的值,并将值与变量名关联后,它的键大规模?
请建议。
# Function
a = 1
b = 2
def foo(z):
return a + b + z
foo(3)
# should return 6
将变量声明为输入参数并在调用
中解包字典def foo(z, a, b):
return a + b + z
param = {'a': 1, 'b': 2}
foo(3, **param)
>> 6
那么如果缺少任何输入,您还可以提供默认值(例如0)。
另一种可能是提供整个字典作为输入,并让函数处理解包。
def bar(z, p):
return p['a'] + p['b'] + z
bar(3, param)
>> 6