Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình Python tạo Dictionary từ chuỗi

Bài toán: cho chuỗi đầu vào, chuyển thành dictionary.

Hai phương pháp không dùng dict() trực tiếp:

Phương pháp 1: Dùng eval()

Chỉ dùng khi cú pháp chuỗi giống dictionary. Chuyển đổi trực tiếp.

string = "{'T':1, 'U':2, 'T':3, 'O':4, 'R':5}"
dict_string = eval(string)
print(dict_string)
print(dict_string['T'])
print(dict_string['T'])
{'T': 3, 'U': 2, 'O': 4, 'R': 5}
3
3

Phương pháp 2: Dùng generator expression

Nếu chuỗi có cú pháp dạng key-value phân tách, dùng generator expression chuyển dictionary.

string = "T-3 , U-2 , T-1 , O-4 , R-5"
dict_string = dict((x.strip(), y.strip()) for x, y in (element.split('-') for element in string.split(', ')))
print(dict_string)
print(dict_string['T'])
print(dict_string['T'])
{'T': '1', 'U': '2', 'O': '4', 'R': '5'}
1
1

Kết luận

Đã học 2 cách tạo dictionary từ chuỗi: eval() (cú pháp dict) và generator expression (cú pháp tùy chỉnh).