迭代python

时间:2017-04-14 15:17:11

标签: python dictionary

我需要将dict中的值(下例中的dict1)以元素方式传递给函数(下例中的func1,函数不能更改)< / p>

def func1(input1,input2,input3):
    print input1
    print input2
    print input3

dict1={"a":1,"b":2,"c":3}
keys=["a","b","c"]
func1(dict1["a"],dict1["b"],dict1["c"])

如何借助数组键改进最后一行? 我试过了

func1([dict[key] for key in keys])

func1(dict[key] for key in keys)

2 个答案:

答案 0 :(得分:5)

您的func1([dict[key1] for key in keys])几乎可以使用,您只需要在使用*

将其发送到函数之前将其解压缩
func1(*[dict1[key] for key in keys])

答案 1 :(得分:1)

因为你要求改进。你没有给他们留下太多空间,但是有些人可能会说没有创建一个扔掉的名单可能算作一个:

func1(*(dict1[key] for key in keys))

显然,随着改进的进行,这个很小。