Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีแปลง String Representation ของ Dictionary กลับเป็น Dictionary ใน Python

Dictionary Object แปลงเป็น String ได้ง่ายด้วยฟังก์ชัน str()

>> D1 = {'1': 1, '2': 2, '3': 3}
>>> D1
{'1': 1, '2': 2, '3': 3}
>>> str(D1)
"{'1': 1, '2': 2, '3': 3}"

เพื่อแปลง String กลับเป็น Dictionary ต้องแน่ใจว่า String มี Valid Representation ของ Dictionary ทำได้ด้วยฟังก์ชัน eval()

>> D1 = {'1': 1, '2': 2, '3': 3}
>>> s = str(D1)
>>> s
"{'1': 1, '2': 2, '3': 3}"
>>> D2 = eval(s)
>>> D2
{'1': 1, '2': 2, '3': 3}

โมดูล Abstract Syntax Tree (ast) ของ Python มีเมธอด literal_eval() ซึ่งประเมินค่า Python Literal Structure อย่างปลอดภัย

>> D1 = {'1': 1, '2': 2, '3': 3}
>>> s = str(D1)
>>> import ast
>>> D2 = ast.literal_eval(s)
>>> D2
{'1': 1, '2': 2, '3': 3}