ato*_*era 7 python arguments function python-3.x
我使用具有签名功能的库f(*args, **kwargs).我需要在kwargs参数中传递python dict,但是dict不包含关键字中的字符串
f(**{1: 2, 3: 4})
Traceback (most recent call last):
File "<console>", line 1, in <module>
TypeError: f() keywords must be strings
Run Code Online (Sandbox Code Playgroud)
如何在不编辑功能的情况下解决这个问题?
不允许使用非字符串关键字参数,因此没有针对此问题的通用解决方案.您可以通过将您的键转换dict为字符串来修复您的具体示例:
>>> kwargs = {1: 2, 3: 4}
>>> f(**{str(k): v for k, v in kwargs.items()})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5843 次 |
| 最近记录: |