自动解包和分配,键值从Python字典



这个问题与这里的问题类似:

然而,在我的情况下,我有一个充满了许多键和值的大字典,我将无法枚举每个键来实现这个解决方案:

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

相关内容

  • 没有找到相关文章

最新更新