Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình Python để tạo từ điển từ một chuỗi


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.