python中列表字典和字符串的相互转化有两种方法:
(1)使用str和eval的方法,一个简单的例子如下:
data = { 'name' : 'ACME', 'shares' : 100, 'price' : 542.23 } data_str = str(data) print (data_str ) print (type(data_str )) data_dict = eval(data_str ) print (data_dict) print (type(data_dict))
(2)使用json.dumps和json.loads的方法,一个简单的例子如下:
data = { 'name' : 'ACME', 'shares' : 100, 'price' : 542.23 } data_str = json.dumps(data) print (data_str) print (type(data_str)) data_dict = json.loads(data_str) print (data_dict) print (type(data_dict))
需要注意的是,str和eval是一对方法,json.dumps和json.loads是另一对方法,str和json.dumps转化出的字符串形式不同,区别如下所示:
str转化的结果:{'name': 'ACME', 'shares': 100, 'price': 542.23} (单引号)
json.dumps转化的结果:{"name": "ACME", "shares": 100, "price": 542.23} (双引号)
在某些场景下还是要加以区分运用。