将字典的值传递给函数

时间:2015-04-08 14:25:25

标签: python dictionary

我有一个字典列表,如下所示:

s = [{'a':1, 'b':2, 'c':3}, {'d':3, 'e':4, 'f':5}]

我的函数接受数字:

foo(num1, num2, num3)

除了将值存储为新变量之外,我还能做些什么来创建新变量吗?

这是我到目前为止所做的事情:

t = [tuple(d.values()) for d in s]
[foo(x[0], x[1], x[2]) for x in t]

1 个答案:

答案 0 :(得分:2)

以下更简洁:

[foo(*d.values()) for d in s]

但遗憾的是,您无法确定传递给的参数的顺序。因此,您可以按键对字典值进行排序:

 [foo(*(d[k] for k in sorted(d.keys()))) for d in s]