Python由字符串生成字典

字符串需要带引号,而且要避免与字符串里面的引号混淆,可以按情况用单/双引号

方法1--exec(),参数为被执行的python语句
a = '{k1:1, k2:2, k3:3, k4:4}'
exec('b = "' + a + '"')
'''
这里一定要加双引号, 因为 'b = {k1:1, k2:2, k3:3, k4:4}'执行起来有问题,
被执行语句应该为'b = "{k1:1, k2:2, k3:3, k4:4}"'
'''
print(b)


方法2--用eval(),参数需要多加一层引号
s1 = '"{k1:1, k2:2, k3:3, k4:4}"'
#字符串要多加一层引号,直接用'{k1:1, k2:2, k3:3, k4:4}'执行有问题
t1 = eval(s1)
print(t1)


方法3--用json.loads(),参数需要多加一层引号
import json
a = '"{k1:1, k2:2, k3:3, k4:4}"'
#字符串要多加一层引号,直接用'{k1:1, k2:2, k3:3, k4:4}'执行有问题
dict1 = json.loads(a)
print(dict1)
 
posted @ 2022-03-29 12:18  coffee~  阅读(206)  评论(0编辑  收藏  举报