把Python dict转换成kwargs?

2024-04-19 23:45:53 发布

您现在位置:Python中文网/ 问答频道 /正文

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


Tags: event参数type关键字solrdict键值sunburnt
3条回答

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

>>> 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

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

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

相当于

func(type='Event')

**运算符在这里很有用。

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

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

仅供参考

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

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

相关问题 更多 >