首页 > 解决方案 > 有没有办法在使用 ** 运算符时即时对变量进行类型转换?

问题描述

我正在解析一个 json 文件,其中包含一个some_function连续调用的函数的关键字参数。

文件

{
    "keyword_arg1": 123,
    "keyword_arg2": [2, 3],
    ...
}

伪代码

args = parse_json(JSON_FILE)
some_function(some_argument='some arguments will also be passed manually', **args)

现在,不幸的是,some_function实际上需要一个元组作为keyword_arg2参数,而不是一个list. 有没有办法让我的代码保持简单并即时将json解析keyword_arg2从a转换list为a tuple

标签: pythonjson

解决方案


您可以先修改现有的字典。

args['keyword_arg2'] = tuple(args['keyword_arg2'])
some_function(..., **args)

推荐阅读