Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để chuyển đổi một biểu diễn chuỗi của Từ điển sang từ điển trong Python?


Đối tượng từ điển có thể dễ dàng chuyển đổi thành chuỗi bằng hàm str ().

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

Để chuyển đổi một chuỗi thành từ điển, chúng ta phải đảm bảo rằng chuỗi chứa một đại diện hợp lệ của từ điển. Điều này có thể được thực hiện bằng hàm 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}

Mô-đun Cây cú pháp trừu tượng (ast) của Python có phương thức Lite_eval () để đánh giá một cách an toàn cấu trúc chữ Python hợp lệ.

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