如何解决将Python dict转换为kwargs?
| 我想使用类继承构建针对sunburnt(solr接口)的查询,因此将键-值对加在一起。 sunburnt接口带有关键字参数。如何将字典({\'type\':\'Event\'})
转换为关键字参数(type=\'Event\')
?解决方法
使用双星运算符(又称双破折号?):
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\')
相同,这是一个完整的示例,显示了如何使用**
运算符将字典中的值作为关键字参数传递。
>>> 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。