ได้สตริงที่มีรูปแบบคล้ายลิสต์ของ 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 แทน