首页 > 解决方案 > 将带括号的字符串解析为参数

问题描述

我需要将一些字符串解析为函数变量列表。

我可以有一个简单的字符串,例如vars = '3,5,1'

我使用解析它args = [int(arg) if arg.isdigit() else arg for arg in vars.split(',')]

但是我可能会得到一个字符串,例如vars = [1, 2, 5, 4], 1, 5

我希望我的结果是[[1,2,5,4],1,5]

如何修改我的解析以支持这种情况?

标签: pythonlistparsingsplit

解决方案


您可以使用内置ast模块:

import ast
result = ast.literal_eval(f'[{vars}]')

这将被vars视为普通的列表文字。


推荐阅读