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

Converting List String to Dictionary ใน Python: แปลงสตริงรูปแบบลิสต์เป็น Dict

ได้สตริงที่มีรูปแบบคล้ายลิสต์ของ Key-Value Pairs เช่น '[Mon:3, Tue:5, Fri:11]' แปลงเป็น Dictionary จริง

วิธี 1: ใช้ split() และ Slicing


stringA = '[Mon:3, Tue:5, Fri:11]'
res = {part.split(':')[0]: part.split(':')[1] for part in stringA[1:-1].split(', ')}
print(res)  # {'Mon': '3', 'Tue': '5', 'Fri': '11'}

วิธี 2: ใช้ eval() กับ replace() (ระวัง Security)


stringA = '[18:3, 21:5, 34:11]'
res = eval(stringA.replace('[', '{').replace(']', '}'))
print(res)  # {18: 3, 21: 5, 34: 11}

คำเตือน

eval() อันตรายหาก Input มาจากผู้ใช้ (Code Injection) ควรใช้วิธี 1 หรือ ast.literal_eval แทน