我想为晒伤(solr接口)构建一个查询,使用类继承,从而将键值对添加在一起。晒伤接口接受关键字参数。我如何将字典({'type':'Event'})转换为关键字参数(type='Event')?
另请参阅:函数调用中的双星号(**)和星号(*)有什么意义? - 适用于遇到该语法并感到困惑的人们的相关问题。
另请参阅:函数调用中的双星号(**)和星号(*)有什么意义? - 适用于遇到该语法并感到困惑的人们的相关问题。
func(**myDict)
进行调用。例如:myDict = {"type": "event"}
。 - James Khoury**
运算符在这里非常有用。
**
运算符将展开字典元素,因此**{'type':'Event'}
将被视为type='Event'
func(**{'type':'Event'})
与func(type='Event')
相同,即字典元素将转换为关键字参数
。
FYI
*
将展开列表元素,并将它们视为位置参数
。
func(*['one', 'two'])
与func('one', 'two')
相同。
这里是一个完整的示例,演示如何使用**
操作符将字典中的值作为关键字参数传递。
>>> 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