Chuỗi python vào khóa từ điển

Để chuyển đổi một chuỗi thành từ điển, chúng ta phải đảm bảo rằng chuỗi đó chứa một biểu diễn hợp lệ của từ điển. Điều này có thể được thực hiện bằng hàm eval[]

>>> D1={'1':1, '2':2, '3':3}
>>> s=str[D1]
>>> s
"{'1': 1, '2': 2, '3': 3}"
>>> D2=eval[s]
>>> D2
{'1': 1, '2': 2, '3': 3}

Mô-đun Cây cú pháp trừu tượng [ast] của Python có phương thức literal_eval[] đánh giá cấu trúc chữ Python hợp lệ một cách an toàn

Hàm

s = '{"1": "hi", "2": "alice", "3": "python"}'

d = eval[s]

print[d]
print[type[d]]
0 tích hợp nhận một đối số chuỗi, phân tích cú pháp như thể đó là một biểu thức mã và đánh giá biểu thức. Nếu chuỗi chứa một đại diện văn bản của một từ điển, giá trị trả về là một từ điển Python bình thường. Bằng cách này, bạn có thể dễ dàng chuyển đổi một chuỗi thành từ điển Python bằng hàm
s = '{"1": "hi", "2": "alice", "3": "python"}'

d = eval[s]

print[d]
print[type[d]]
0

s = '{"1": "hi", "2": "alice", "3": "python"}'

d = eval[s]

print[d]
print[type[d]]

đầu ra là

{'1': 'hi', '2': 'alice', '3': 'python'}

Bạn có thể tìm hiểu thêm về hàm

s = '{"1": "hi", "2": "alice", "3": "python"}'

d = eval[s]

print[d]
print[type[d]]
0 tích hợp trong video sau

Python eval[] – Cách đánh giá động một biểu thức mã trong Python


Xem video này trên YouTube

Phương pháp 2. ast. literal_eval[]

Phương thức

s = '{"1": "hi", "2": "alice", "3": "python"}'

d = eval[s]

print[d]
print[type[d]]
2 đánh giá một cách an toàn một biểu thức hoặc một chuỗi ký tự chẳng hạn như một từ điển được biểu thị bằng một chuỗi. Nó cũng phù hợp với các chuỗi có khả năng đến từ các nguồn không đáng tin cậy, giải quyết nhiều vấn đề về bảo mật của phương thức
s = '{"1": "hi", "2": "alice", "3": "python"}'

d = eval[s]

print[d]
print[type[d]]
0. Bằng cách này, bạn có thể chuyển đổi một biểu diễn chuỗi
s = '{"1": "hi", "2": "alice", "3": "python"}'

d = eval[s]

print[d]
print[type[d]]
4 của một từ điển bằng cách sử dụng biểu thức
s = '{"1": "hi", "2": "alice", "3": "python"}'

d = eval[s]

print[d]
print[type[d]]
5

import ast

s = '{"1": "hi", "2": "alice", "3": "python"}'
d = ast.literal_eval[s]

print[d]
print[type[d]]

đầu ra là

{'1': 'hi', '2': 'alice', '3': 'python'}

Phương pháp 3. json. tải[] & s. thay thế[]

Để chuyển đổi một biểu diễn chuỗi của một dict thành một dict, hãy sử dụng phương thức

s = '{"1": "hi", "2": "alice", "3": "python"}'

d = eval[s]

print[d]
print[type[d]]
6 trên chuỗi. Đầu tiên, thay thế tất cả các ký tự trích dẫn đơn bằng các ký tự trích dẫn kép đã thoát bằng cách sử dụng biểu thức
s = '{"1": "hi", "2": "alice", "3": "python"}'

d = eval[s]

print[d]
print[type[d]]
7 để làm cho nó hoạt động với thư viện JSON trong Python. Biểu thức
s = '{"1": "hi", "2": "alice", "3": "python"}'

d = eval[s]

print[d]
print[type[d]]
8 chuyển đổi chuỗi
s = '{"1": "hi", "2": "alice", "3": "python"}'

d = eval[s]

print[d]
print[type[d]]
4 thành từ điển

s = '{"1": "hi", "2": "alice", "3": "python"}'

d = eval[s]

print[d]
print[type[d]]
5

đầu ra là

{'1': 'hi', '2': 'alice', '3': 'python'}

Thật không may, phương pháp này không tối ưu vì nó sẽ không thành công đối với các biểu diễn từ điển có dấu phẩy ở cuối và dấu nháy đơn dưới dạng một phần của khóa hoặc giá trị từ điển. Đây cũng không phải là cách đơn giản nhất, vì vậy cách tiếp cận chung được thảo luận trong phương pháp 1 được ưu tiên hơn

Bạn có thể tìm hiểu sâu hơn về phương pháp

{'1': 'hi', '2': 'alice', '3': 'python'}
0 trong video hướng dẫn sau

Thay thế chuỗi Python. Hướng dẫn hữu ích


Xem video này trên YouTube

Phương pháp 4. Phương pháp lặp đi lặp lại

Bạn cũng có thể chuyển đổi một chuỗi thành một từ điển bằng cách tách biểu diễn chuỗi thành một chuỗi các cặp [khóa, giá trị]. Sau đó, bạn có thể thêm từng cặp [khóa, giá trị] vào một từ điển trống ban đầu sau khi dọn phòng

Đây là một triển khai trong Python trần

s = '{"1": "hi", "2": "alice", "3": "python"}'

d = eval[s]

print[d]
print[type[d]]
8

đầu ra là

{'1': 'hi', '2': 'alice', '3': 'python'}

Bạn có thể tìm hiểu thêm về tách chuỗi trong video hướng dẫn sau

Phương thức chuỗi Python [Hướng dẫn cơ bản]


Xem video này trên YouTube

Đi đâu từ đây?

Đủ lý thuyết. Hãy thực hành một số

Các lập trình viên được trả sáu con số trở lên vì họ có thể giải quyết vấn đề hiệu quả hơn bằng cách sử dụng trí thông minh máy móc và tự động hóa

Để trở nên thành công hơn trong việc viết mã, hãy giải quyết nhiều vấn đề thực tế hơn cho người thực. Đó là cách bạn trau dồi những kỹ năng bạn thực sự cần trong thực tế. Rốt cuộc, việc sử dụng lý thuyết học tập mà không ai cần là gì?

Bạn xây dựng các kỹ năng mã hóa có giá trị cao bằng cách làm việc trên các dự án mã hóa thực tế

Bạn có muốn ngừng học với các dự án đồ chơi và tập trung vào các dự án mã thực tế giúp bạn kiếm tiền và giải quyết các vấn đề thực sự cho mọi người không?

🚀 Nếu câu trả lời của bạn là CÓ. , cân nhắc trở thành nhà phát triển Python tự do. Đó là cách tốt nhất để tiếp cận nhiệm vụ cải thiện kỹ năng Python của bạn—ngay cả khi bạn là người mới hoàn toàn

Nếu bạn chỉ muốn tìm hiểu về cơ hội làm việc tự do, vui lòng xem hội thảo trên web miễn phí của tôi “Cách xây dựng kỹ năng Python có thu nhập cao của bạn” và tìm hiểu cách tôi phát triển công việc viết mã trực tuyến của mình cũng như cách bạn có thể làm được—từ sự thoải mái của bạn

Tham gia hội thảo trên web miễn phí ngay bây giờ

Chris

Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây

Làm cách nào để chuyển đổi chuỗi thành khóa từ điển trong Python?

Phương pháp #1. Sử dụng json. tải[] .

Làm cách nào để chuyển đổi một chuỗi thành từ điển?

Phương pháp 1. Tách chuỗi để tạo khóa. cặp giá trị của từ điển Theo phương pháp này, chuỗi đã cho sẽ được phân tích và với việc sử dụng phương thức split[], chuỗi sẽ được chia theo cách mà nó tạo ra khóa. cặp giá trị để tạo từ điển.

Khóa từ điển có phải là một chuỗi không?

Từ điển là một loại bảng băm, cung cấp quyền truy cập nhanh vào các mục chứa trong đó. Mỗi mục nhập trong bảng được xác định bằng khóa của nó, là loại có thể băm, chẳng hạn như chuỗi hoặc số . Bạn sử dụng khóa đó để lấy giá trị tương ứng, có thể là bất kỳ đối tượng nào.

Khóa có thể là chuỗi Python không?

Từ điển webstersDict đã sử dụng chuỗi làm khóa trong từ điển , nhưng khóa từ điển có thể là bất kỳ loại dữ liệu bất biến nào [số, chuỗi, bộ, v.v.]. Các giá trị từ điển có thể là bất cứ thứ gì [int, danh sách, hàm, chuỗi, v.v.].

Chủ Đề