python將字符串轉換成字典的幾種方法
阿新 • • 發佈:2018-05-10
AS ast clas 行處理 模塊 IT python color AR
當我們遇到類似於{‘a’:1, ‘b‘:2, ‘c‘:3}這種字符串時,想要把它轉換成字典進行處理,可以使用以下幾種方法:
1. Python自帶的eval函數(不安全)
dictstr = ‘{"a":1, "b":2, "c":{"d":1}}‘ mydict = eval(dictstr)
2.使用 ast 模塊的 literal_eval 函數(安全)
dictstr = ‘{"a":1, "b":2, "c":{"d":1}}‘ mydict = ast.literal_eval(dictstr)
3.使用 json 模塊的 loads 函數
dictstr = ‘{"a":1, "b":2, "c":{"d":1}}‘ mydict = json.loads(dictstr)
使字典有序
from collections import OrderedDict dictstr = ‘{"a":1, "b":2, "c":3}‘ obj = json.loads(dictstr, object_pairs_hook=OrderedDict) #返回一個class對象,可繼續處理
python將字符串轉換成字典的幾種方法