python - 将带括号的字符串解析为参数
问题描述
我需要将一些字符串解析为函数变量列表。
我可以有一个简单的字符串,例如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]
如何修改我的解析以支持这种情况?
解决方案
您可以使用内置ast
模块:
import ast
result = ast.literal_eval(f'[{vars}]')
这将被vars
视为普通的列表文字。
推荐阅读
- unity3d - 如何在 Unity 中使用着色器弯曲对象?
- mongodb - org.hibernate.integrator.spi.Integrator:提供者 org.hibernate.search.hcore.impl.HibernateSearchIntegrator 不是子类型
- typescript - 带有 lambda 的 Typescript 装饰器接口。AxiosInstance
- matlab - 在 MATLAB 中动态标记
- ios - Cordova File 插件在我的 iOS 项目的 javascript 文件中不起作用,Android 工作正常
- c# - 如何使用 if 条件添加值
- atmel - ATSAMA5D36 Xplained 板上的错误 OpenOCD 调试:
- bash - 使用 `sed` 将代码块中的文本替换为代码块顶部的命令输出
- firebase - 使用phonegap推送插件在ionic3中推送通知
- spring - 无法在 Angular 5 中解码下载的字体