Bha*_*kar 3 python string dictionary list
如何将str的表示形式list
转换为dictionary
?
a = '[100:0.345,123:0.34,145:0.86]'
Run Code Online (Sandbox Code Playgroud)
预期产量:
{100:0.345,123:0.34,145:0.86}
Run Code Online (Sandbox Code Playgroud)
首先尝试使用将字符串转换为列表ast.literal_eval
.但它显示错误: invalid syntax
它显示为无效语法,因为它有错误的括号,所以你可以这样做
ast.literal_eval(a.replace("[","{").replace("]", "}"))
Run Code Online (Sandbox Code Playgroud)
或者,也可以在字典理解中自己解析字符串
{x.split(":")[0]: x.split(":")[1] for x in a[1:-1].split(",")}
Run Code Online (Sandbox Code Playgroud)
如果提到你的字符串中有[
或]
其他地方,以下可能更强大
ast.literal_eval("{" + a[1:-1] +"}")
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
345 次 |
最近记录: |