python - Python将包含列表元组的字符串解包到变量
问题描述
嗨,伙计们,我一直在努力如何将字符串解包到变量是一个带有列表和浮点数的元组。
model_parameters="('[None, False, None, 12, False, True]', 18.837459797657008)"
但我需要的输出必须是这种形式
output=[None, False, None, 12, False, True]
error=18.837459797657008
a,b,c,d,e,f=output
这是为了使用来自https://machinelearningmastery.com/how-to-grid-search-triple-exponential-smoothing-for-time-series-forecasting-in-的网格搜索模型加载 statsmodels.tsa.holtwinters.ExponentialSmoothing Python/
解决方案
你可以这样做:
import ast
def parse_tuple(string):
try:
s = ast.literal_eval(str(string))
if type(s) == tuple:
return s
return
except:
return
t="('[None, False, None, 12, False, True]', 18.837459797657008)"
a=parse_tuple(t)
a=eval('[' + a[0] + ']')[0]
首先,我们定义一个函数将您的字符串转换为元组,之后a=parse_tuple(t)
,a[1]
将是18.837459797657008
,然后我们将其他元素转换为列表,您可以使用a[i]
分别访问值。
推荐阅读
- ms-access - 仅格式化表格的第一行
- javascript - 如何在正则表达式中定义“不区分大小写”修饰符 i?
- scripting - 适合带有垂直对齐选项的框架
- javascript - React DatePicker 从父类获取状态
- postgresql - Postgres 中的触发器:在运行时按名称访问新字段
- python - 如何在 Python 中忽略 Sonarqube 的 1000 行限制:大于 1,000 已授权
- bash - 用于删除 aws s3 删除键名中包含空格的标记的 Bash 脚本
- javascript - 使用 OMDB API 时如何修复 401 错误?
- github - 个别存储库的 Github 语言下拉菜单是否损坏?
- android - Flutter,如何从 FCM 后台消息启动特定屏幕