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

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


เราสามารถใช้ ast.literal_eval() ที่นี่เพื่อประเมินสตริงเป็นนิพจน์หลาม มันประเมินโหนดนิพจน์หรือสตริงที่มีนิพจน์ Python อย่างปลอดภัย สตริงหรือโหนดที่ระบุอาจประกอบด้วยโครงสร้างตามตัวอักษรของ Python ต่อไปนี้เท่านั้น:สตริง ตัวเลข ทูเพิล รายการ dicts บูลีน และไม่มี ตัวอย่างเช่น:

s = "{'baz' : 'lol', 'foo' : 'bar'}"
import ast
s = ast.literal_eval(s)
print s['foo'], s['baz']

สิ่งนี้จะให้ผลลัพธ์แก่เรา:

bar lol

พจนานุกรมยังสามารถมองว่าเป็นสตริง JSON ดังนั้นเราจึงสามารถใช้โมดูล json เพื่อแปลงสตริงเป็น dict ได้เช่นกัน ตัวอย่างเช่น

>>> import json
>>> x = json.loads("{'foo' : 'bar', 'hello' : 'world'}")
>>> type(x)
<type 'dict'>