Chuyển đổi dict thành đối tượng Python

Python cung cấp nhiều loại dữ liệu để lưu trữ giá trị ở nhiều định dạng khác nhau, bao gồm chuỗi, từ điển, danh sách, v.v. Trong khi lập trình, bạn sẽ gặp vấn đề chuyển đổi kiểu dữ liệu này sang kiểu dữ liệu khác

Từ điển là một định dạng thuận tiện để lưu trữ và ánh xạ dữ liệu. Định dạng khóa-giá trị của nó giúp ánh xạ dữ liệu dễ dàng hơn. Nếu bạn muốn lưu trữ dữ liệu của từ điển trong tệp hoặc cơ sở dữ liệu, chuỗi là định dạng thuận tiện hơn cho việc lưu trữ

Hơn nữa, nếu bạn đã quen với các tệp JSON, bạn phải biết rằng văn bản là một trong những dạng được phép lưu trữ dữ liệu trong JSON. Kết quả là, từ điển phải được chuyển đổi thành chuỗi và ngược lại

Trong bài viết này, chúng ta sẽ xem xét các phương pháp chuyển đổi từ điển thành chuỗi trong Python

Từ điển trong Python là gì?

Từ điển là một loại dữ liệu có thể thay đổi trong Python, lưu trữ dữ liệu ở dạng cặp khóa-giá trị

Cú pháp cơ bản cho một từ điển là

từ điển = {'khóa'. 'giá trị' , 'key2'. 'giá trị2' }

[key và value có thể khác kiểu dữ liệu. Ở đây, giả sử rằng chúng là các chuỗi]

Ngoài ra, các khóa và giá trị trong từ điển phân biệt chữ hoa chữ thường, do đó nó phát hiện chữ hoa và chữ thường của cùng một bảng chữ cái là khác nhau

Ví dụ

# declaring a dictionary
dictionary = {"book": "The Invisible Man", "class": 12, "grade": "A"}
# note the key-value pair of 'class' [string] and 12 [integer]

print[dictionary]

 

đầu ra

{'book': 'The Invisible Man', 'class': 12, 'grade': 'A'}

 

Ví dụ trên cũng mô tả rằng chúng ta có thể sử dụng các loại dữ liệu khác nhau để tạo thành một cặp khóa-giá trị trong từ điển. Bạn cũng có thể truy cập các giá trị bằng cách sử dụng các khóa được liên kết của chúng trong từ điển. Ví dụ

# declaring a dictionary
dictionary = {"book": "The Invisible Man", "class": 12, "grade": "A"}
print[dictionary]

# accessing value 12
print["Class : ", dictionary["class"]]

 

đầu ra

{'book': 'The Invisible Man', 'class': 12, 'grade': 'A'}
Class :  12

 

Chuỗi trong Python là gì?

Chuỗi là một kiểu dữ liệu bất biến trong Python. Bất kỳ văn bản nào [bao gồm bảng chữ cái, ký tự đặc biệt hoặc số] được đặt trong dấu ngoặc kép [kép hoặc đơn trong Python] được gọi là chuỗi trong Python. Đây là kiểu dữ liệu được sử dụng nhiều nhất trong bất kỳ ngôn ngữ lập trình nào

Ví dụ

# initializing a string
string = 'Ways to convert dict to string in Python'
print[string]

 

đầu ra

Ways to convert dict to string in Python

 

Để biết thêm về kiểu dữ liệu Chuỗi, vui lòng kiểm tra 4 cách để chuyển đổi danh sách thành chuỗi trong Python

Chuyển đổi Dict thành String trong Python là gì?

Sau khi tìm hiểu về từ điển và chuỗi ký tự, chắc hẳn bạn đang thắc mắc về kết quả cuối cùng của việc chuyển đổi này. Chúng ta sẽ thu được kết quả gì từ việc chuyển đổi này?

Đừng lo lắng, hãy để tôi nói điều này bằng những từ đơn giản. Chúng tôi phải chuyển đổi một từ điển, được đặt trong dấu ngoặc nhọn, thành chuỗi, được đặt giữa các dấu ngoặc kép

Ví dụ

# a dictionary
dictionary = {1: "A", 2: "B", 3: "C"}
print["Dictionary: ", dictionary, " type: ", type[dictionary]]

# a string
string = "1: A, 2: B"
print["String: " + string + " type: ", type[string]]

 

đầu ra

Dictionary:  {1: 'A', 2: 'B', 3: 'C'}  type:  
String: 1: A, 2: B type:  

 

Lưu ý rằng từ điển được in như nó vốn có [i. e. như đã khai báo] trong khi chuỗi tránh dấu ngoặc kép. Bạn sẽ có thể phân biệt chúng khi bạn đi xuống bài viết

Ngoài ra, hãy tìm hiểu cách chuyển đổi Chuỗi thành Dict trong Python

Làm cách nào để xác nhận việc chuyển đổi Dict thành String trong Python?

Để tôi nói cho bạn biết phương pháp đơn giản và dễ dàng nhất để làm điều đó. Hãy thử truy cập các giá trị bằng các khóa được chỉ định của chúng để hiểu rõ hơn [Bạn luôn có thể sử dụng phương thức type[]]

Khá dễ dàng, phải không?

Hãy lấy một ví dụ để hiểu rõ hơn

________số 8

 

đầu ra

Dictionary:  {1: 'A', 2: 'B', 3: 'C'}  type:  
Dict into stringa: {1: 'A', 2: 'B', 3: 'C'} type  
key = 1 value =  A
key = 1 value =  1

 

Lưu ý sự khác biệt giữa đầu ra khi chúng tôi cố gắng truy cập giá trị bằng các phím. Điều này xác nhận việc chuyển đổi dict thành chuỗi trong Python

Bây giờ, bạn hẳn đang thắc mắc tại sao nó lại cho '1' ở chuỗi[1]? . Lập chỉ mục trong Python bắt đầu từ 0. Khi chuyển đổi dict thành chuỗi trong Python, dấu ngoặc nhọn của từ điển cũng được chuyển đổi thành một phần của chuỗi. Do đó, sau chuyển đổi này, dấu ngoặc mở đánh dấu phần đầu của chuỗi và do đó, được gán chỉ số = 0

Hãy nhìn vào hình ảnh dưới đây để có được một sự hiểu biết rõ ràng

Hình ảnh cung cấp cho bạn ý tưởng tốt hơn về lập chỉ mục sau khi chuyển đổi từ điển thành chuỗi

3 cách để chuyển đổi Dict thành String trong Python

Đưa ra dưới đây là một số phương pháp để chuyển đổi dict thành chuỗi trong Python

01] Sử dụng hàm str[]

Bạn có thể dễ dàng chuyển đổi từ điển Python thành chuỗi bằng hàm str[]. Hàm str[] lấy một đối tượng [vì mọi thứ trong Python đều là đối tượng] làm tham số đầu vào và trả về một biến thể chuỗi của đối tượng đó. Lưu ý rằng nó không thực hiện bất kỳ thay đổi nào trong từ điển mà trả về một biến thể chuỗi

Hãy lấy một ví dụ ngắn gọn để hiển thị việc sử dụng hàm str[]

{'book': 'The Invisible Man', 'class': 12, 'grade': 'A'}
0

 

đầu ra

{'book': 'The Invisible Man', 'class': 12, 'grade': 'A'}
1

 

Từ ví dụ trên, bạn có thể lưu ý rằng loại chuyển từ 'dict' sang 'str' cho từ điển sau khi chuyển đổi

02] Sử dụng json. phương thức bãi []

Một phương pháp khác để chuyển từ điển thành chuỗi trong Python là sử dụng phương thức dumps[] của thư viện JSON. Phương thức dumps[] lấy một đối tượng JSON làm tham số đầu vào và trả về một chuỗi JSON. Nhớ. Để gọi phương thức dumps[], bạn cần nhập thư viện JSON [ở đầu mã của bạn]

Hãy lấy một ví dụ dưới đây

{'book': 'The Invisible Man', 'class': 12, 'grade': 'A'}
2

 

đầu ra

{'book': 'The Invisible Man', 'class': 12, 'grade': 'A'}
3

 

Có một mô-đun khác, mô-đun 'dưa chua', cũng cung cấp chức năng này. Việc sử dụng JSON được ưu tiên hơn dưa chua vì JSON có hỗ trợ đa nền tảng

03] Sử Dụng Cách Thông Thường

Ngoài việc sử dụng các hàm dựng sẵn, bạn luôn có thể chuyển đổi một lệnh thành một chuỗi trong Python bằng cách thông thường. Cách thông thường là sử dụng vòng lặp for để lặp lại từ điển và nối các chuỗi mới được tạo thành

Do đó, nó liên quan đến hai hoạt động

  1. Lặp lại từ điển bằng vòng lặp for
  2. nối chuỗi

Hãy lấy một ví dụ để hiểu rõ hơn

{'book': 'The Invisible Man', 'class': 12, 'grade': 'A'}
4

 

đầu ra

{'book': 'The Invisible Man', 'class': 12, 'grade': 'A'}
5

 

Phương pháp này không được khuyến nghị để chuyển đổi từ điển thành chuỗi. Điều này liên quan đến việc lưu trữ các dạng nối của các cặp khóa-giá trị thành các chuỗi [cũng bỏ qua dấu ngoặc. ]. Các phiên bản khác nhau của phương pháp này được sử dụng để chỉ chuyển đổi các khóa hoặc giá trị từ điển thành một chuỗi

Bây giờ, bạn hãy xem bài viết của chúng tôi về Dictionary to JSON

Phần kết luận

Chuyển đổi kiểu dữ liệu sang kiểu dữ liệu khác là một vấn đề thường gặp. Đôi khi điều này có thể bao gồm tuần tự hóa và giải tuần tự hóa, hướng tới 'mô-đun dưa chua'. Các phương thức được liệt kê ở trên bao gồm các phương thức dựng sẵn trong Python cũng như cách tiếp cận thông thường để chuyển đổi rõ ràng một từ điển thành một chuỗi trong Python

Làm cách nào để chuyển đổi dict thành đối tượng Python?

Phương pháp 1. Sử dụng mô-đun json. Chúng ta có thể giải quyết vấn đề cụ thể này bằng cách nhập mô-đun json và sử dụng hook đối tượng tùy chỉnh trong json. phương thức load[] .

dict[] có giống như {} không?

Như chúng ta có thể thấy, dict[] rõ ràng là chậm hơn {} . Đặc biệt nếu dictionary được khởi tạo nhiều phần tử thì ảnh hưởng rất lớn nếu code của bạn cần 0. 04ms hoặc gần như 0. 08ms để tạo từ điển của bạn. Ngay cả khi bạn khởi tạo một từ điển trống, nó vẫn chậm hơn.

Giá trị từ điển Python có thể là một đối tượng không?

Khóa từ điển phải là đối tượng bất biến. Giá trị từ điển có thể là bất kỳ đối tượng nào .

Làm cách nào để chuyển đổi dict thành văn bản trong Python?

Bạn có thể dễ dàng chuyển đổi từ điển Python thành chuỗi bằng cách sử dụng hàm str[] . Hàm str[] lấy một đối tượng [vì mọi thứ trong Python đều là đối tượng] làm tham số đầu vào và trả về một biến thể chuỗi của đối tượng đó.

Chủ Đề