M T*_*omb 5 python string list
我想转换一个字符串,例如:
s = "[2-1,2,3]"
Run Code Online (Sandbox Code Playgroud)
放入列表中,例如:
a = [1,2,3]
Run Code Online (Sandbox Code Playgroud)
我尝试过json:
s = "[2-1,2,3]"
a = json.loads(s)
Run Code Online (Sandbox Code Playgroud)
但它无法处理2-1。有没有一种简单的方法可以将字符串转换为任何类型的数据类型?
这是编写编译器时需要解决的常见问题。通常这属于lexing。解析器通常有一个标记列表,监视标记,然后将其传递给解析器,然后传递给编译器。
不过,您的问题无法用词法分析器完全解决,因为您还需要2-1评估 to 1。在这种情况下,我建议使用eval@Danielhao 建议的方式,因为这是实现目标的简单而干净的方法。不过,请记住使用它时的注意事项(安全性和其他方面)。(特别是在生产中)
如果您对解析感兴趣,请查看: