Trong bài viết này, chúng ta sẽ tìm hiểu về giải pháp cho câu hỏi được đưa ra bên dưới.
Tuyên bố sự cố - Chúng tôi được cung cấp một đầu vào chuỗi, chúng tôi cần chuyển nó thành loại từ điển
Ở đây chúng ta sẽ thảo luận về hai phương pháp để giải quyết vấn đề mà không cần sử dụng hàm dict () tích hợp sẵn.
Phương pháp 1 - Sử dụng phương thức eval ()
Phương thức Eval chỉ được sử dụng khi cú pháp hoặc cách hình thành chuỗi giống với từ điển. Việc chuyển đổi trực tiếp chuỗi sang từ điển có thể xảy ra trong trường hợp đó như được thảo luận bên dưới.
Ví dụ
# String string = "{'T':1, 'U':2, 'T':3, 'O':4, 'R':5}" # eval() function dict_string = eval(string) print(dict_string) print(dict_string['T']) print(dict_string['T'])
Đầu ra
{'T': 3, 'U': 2, 'O': 4, 'R': 5} 3 3
Phương pháp 2 - Sử dụng các hàm của trình tạo
Nếu chúng tôi nhận được đầu vào chuỗi giống với cú pháp của từ điển thì nhờ sự trợ giúp của các biểu thức trình tạo, chúng tôi có thể chuyển đổi nó thành từ điển.
Ví dụ
string = "T-3 , U-2 , T-1 , O-4 , R-5" # Converting string to dictionary 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'])
Đầu ra
{'T': '1', 'U': '2', 'O': '4', 'R': '5'} 1 1
Kết luận
Trong bài viết này, chúng ta đã tìm hiểu cách tạo từ điển từ một chuỗi.