将Python dict转换为kwargs?

时间:2011-04-19 00:46:46

标签: python dictionary kwargs

我想使用类继承为sunburnt(solr接口)构建一个查询,从而将键 - 值对添加到一起。 sunburnt接口采用关键字参数。如何将字典({'type':'Event'})转换为关键字参数(type='Event')

3 个答案:

答案 0 :(得分:448)

使用double-star(又名double-splat?)运算符:

func(**{'type':'Event'})

相当于

func(type='Event')

答案 1 :(得分:5)

**运算符在这里会有所帮助。

**运算符将解压缩dict元素,因此**{'type':'Event'}将被视为type='Event'

func(**{'type':'Event'})func(type='Event')相同,即dict元素将转换为keyword arguments

仅供参考

*将解压缩列表元素,它们将被视为positional arguments

func(*['one', 'two'])func('one', 'two')

答案 2 :(得分:1)

这是一个完整的示例,显示了如何使用**运算符将字典中的值作为关键字参数传递。

>>> def f(x=2):
...     print(x)
... 
>>> new_x = {'x': 4}
>>> f()        #    default value x=2
2
>>> f(x=3)     #   explicit value x=3
3
>>> f(**new_x) # dictionary value x=4 
4