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

จะแปลงการแสดงสตริงของพจนานุกรมเป็นพจนานุกรมใน Python ได้อย่างไร


วัตถุพจนานุกรมสามารถแปลงเป็นสตริงได้อย่างง่ายดายโดยใช้ฟังก์ชัน str()

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

ในการแปลงสตริงเป็นพจนานุกรม เราต้องตรวจสอบให้แน่ใจว่าสตริงนั้นมีการแสดงพจนานุกรมที่ถูกต้อง สามารถทำได้โดยฟังก์ชัน 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}

โมดูล Syntax Tree นามธรรม (ast) ของ Python มีเมธอด literal_eval() ซึ่งประเมินโครงสร้างตัวอักษร Python ที่ถูกต้องได้อย่างปลอดภัย

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