python中列表字典和字符串的相互转化

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}  (双引号)

  在某些场景下还是要加以区分运用。

posted @ 2018-07-09 10:17  IvanB.G.Liu  阅读(261)  评论(0编辑  收藏  举报