python - 字符串到列表的Python转换

标签 python string list

我的输入字符串如下所示

rule = "['xor',[{'asset':'pc','operator':'=','basis':true}]]"

预期输出

 Output = ['xor',[{'asset':'pc','operator':'=','basis':true}]]

这也是遗留代码,我无法执行ast.literal_eval(rule),因为基础具有非字符串值true,这将抛出错误“格式错误的字符串”

有什么建议可以做同样的事情吗?

我尝试使用 rule.strip('][').split(', '),但输出不是预期的格式:

["'and',[{'fact':'waived','operator':'=','basis':true}"]

最佳答案

如果您同意使用 eval,那么您可以在 eval 环境中定义 true:

>>> rule = "['xor',[{'asset':'pc','operator':'=','basis':true}]]"
>>> print(eval(rule, {'true': True}))
['xor', [{'basis': True, 'asset': 'pc', 'operator': '='}]]

关于python - 字符串到列表的Python转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65210666/

相关文章:

r - 在栅格列表列表上执行循环

python - 如何使用python获取xml文件中的部分内容?

python - 如何在Python中获取奇数列标题?

python - 动态 tkinter 输入框

java - 如何用其他字符替换小写字母?

python - 将相同的字符串附加到 Python 中的字符串列表

c# - 后台 worker - C#

python - Python Texttable

php - 如何将文件路径转换为不同的部分?

java - 如何将 Navigablemap 转换为 String[][]