我有一个字典列表,如下所示:
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]
答案 0 :(得分:2)
以下更简洁:
[foo(*d.values()) for d in s]
但遗憾的是,您无法确定传递给的参数的顺序。因此,您可以按键对字典值进行排序:
[foo(*(d[k] for k in sorted(d.keys()))) for d in s]