字符串与字典之间的转换

import json
import ast
'''
字符串转字典的三种方法:1:eval 2:json 3:literal_eval
'''

# 1-1:字符串转成字典---当字符串只有key的时候
string_a = 'name sex'
string_dict_b = {}.fromkeys(string_a).keys()
print('将字符串a转换成字典b:',string_dict_b)
print('b的类型',type(string_dict_b))

# 1-2:字符串转成字典---当字符串有key,也有value的时候----通过eval转
string_a1 = '{"name":"lwy","sex":"girl"}' #必须用双引号
print('a1的类型',type(string_a1))
string_dict_b1 = eval(string_a1)
print('将字符串用eval方式转成字典b1是:',string_dict_b1)
print('b1的类型',type(string_dict_b1))


# 1-3:字符串转成字典---当字符串有key,也有value的时候----通过json转---json.loads
string_dict_b2 = json.loads(string_a1)
print('将字符串用json方式转成字典b2是:',string_dict_b2)
print('b2的类型',type(string_dict_b2))


# 1-4:字符串转成字典---当字符串有key,也有value的时候----通过literal_eval转
string_dict_b3 = ast.literal_eval(string_a1)
print('将字符串用literal_eval方式转成字典b3是:',string_dict_b3)
print('b3的类型',type(string_dict_b3))

# 2-1:字典转字符串---json方式---json.dumps
dict_string_c1 = json.dumps(string_dict_b1)
print('将字典b1转成字符串c1是:',dict_string_c1)
print(type(dict_string_c1))


# 2-2:字典转字符串---强制转换
dict_string_c2 = str(string_dict_b1)
print('将字典b1转成字符串c2是:',dict_string_c2)
print(type(dict_string_c2))


posted @ 2022-03-27 21:18  lllwy  阅读(6206)  评论(0编辑  收藏  举报