Từ điển trong Python - cách sử dụng từ điển trong Python
17/11/2021 13:36
Từ điển trong Python là danh sách các giá trị dữ liệu không được sắp xếp và có thể được thay đổi bằng cách sử dụng các phương thức tích hợp sẵn. Từ điển được sử dụng để tạo ra một bản đồ cho các khóa (keys) độc nhất tới giá trị (values). Trong Python, từ điển được viết bằng dấu ngoặc nhọn và chúng có các cặp khóa và giá trị (key - value). Cặp khóa và giá trị được cung cấp để tối ưu hóa từ điển hơn, mỗi cặp được phân tách với nhau bằng dấu hai chấm, mỗi khóa được tách nhau bằng dấu phẩy.
Về từ điển trong Python
Để tạo ra một từ điển, bạn phải sử dụng dấu ngoặc nhọn {} để bắt đầu và sử dụng dấu ngoặc vuông [] để lập chỉ mục. Khóa và giá trị trong từ điển Python được ngăn cách nhau bởi dấu hai chấm : dưới dạng key:value và các cặp khóa - giá trị được phân tách với nhau thông qua dấu phẩy ,. Khóa trong từ điển là bất biến và không thể thay đổi trong khi các giá trị có thể là bất kỳ kiểu dữ liệu nào và có thể thay đổi được. Các khóa phải được để trong dấu ngoặc, ví dụ : “tiêu đề”: “Cách sử dụng từ điển trong Python”. Từ điển sẽ sắp xếp một tập các đối tượng (khóa) đến một tập các đối tượng là giá trị, do đó người sử dụng có thể tạo ra một danh sách các đối tượng không theo thứ tự.
Các từ điển được tạo ra trong Python có thể biến đổi được, có nghĩa là chúng có thể được thay đổi tùy theo mục đích của người dùng. Vì từ điển này không được sắp xếp, nên thứ tự các khóa (key) được thêm vào sẽ không phản ánh theo thứ tự mà chúng được báo cáo lại, do vậy, lập trình viên có thể tìm các giá trị nhờ vào tên khóa của nó.
>>> Đọc thêm: Biến trong Python
Cách tạo từ điển trong Python
Tạo một từ điển mới trong Python
Trong Python, từ điển được tạo ra bằng cách đặt chuỗi các phần tử trong dấu ngoặc nhọn, được phân tách nhau bằng dấu phẩy. Từ điển chứa một cặp giá trị bao gồm một key và một giá trị tương ứng của nó dưới dạng key:value. Các giá trị trong từ điển có thể thay đổi được trong khi các khoa là lặp lại và bất biến, không thay đổi được.
Từ điển Python được tạo ra bằng hàm dict() tích hợp sẵn. Bạn có thể tạo ra một từ điển trống bằng cách đặt chúng vào dấu ngoặc nhọn {}.
Để xây dựng một từ điển, bạn có thể bắt đầu với một từ điển trống như sau:
Lệnh này sẽ tạo ra một từ điển mới, với 6 cặp khóa và giá trị ban đầu, như hình dưới đây từ iphone là khóa và các năm là giá trị
Thêm giá trị cho từ điển
Trong từ điển Python, việc thêm các phần tử có thể được thực hiện bằng nhiều cách. Một giá trị tại một thời điểm có thể được thêm vào từ điển bằng cách xác định giá trị cùng với khóa chẳng hạn như Dict [Key]=”Value”. Việc cập nhật giá trị hiện có trong từ điển có thể được thực hiện bằng cách sử dụng lệnh update bằng phương pháp tích hợp sẵn. Các key và value lồng nhau cũng có thể được thêm vào từ điển hiện có.
Bạn có thể thêm giá trị cho từ điển trong Python bằng cách xác định giá trị cùng với từ khóa ví dụ: Dict [Key] = ‘Value’ như sau.
>>> Tham khảo: Khóa học lập trình Python
Xóa bỏ cặp khóa và giá trị khỏi từ điển Python
Bạn có thể xóa các phần tử bằng cách sử dụng từ khóa Del. Từ khóa Del có thể xóa một giá trị cụ thể hoặc toàn bộ từ điển Python. Ví dụ
Cập nhật từ điển Python
Bạn có thể cập nhật từ điển bằng cách thêm một giá trị mới hoặc một cặp khóa - vị trí mới, điều chỉnh hoặc xóa một giá trị đang tồn tại.
Sau khi đoạn mã trên được thực thi, nó sẽ tạo ra kết quả như sau
Các chức năng tích hợp trong từ điển
Các chức năng tích hợp như all(), any(), len(), cmp(), sorted(), vv được sử dụng phổ biến với các từ điển để thực hiện nhiệm vụ khác nhau.
Chức năng |
Mô tả |
all() |
Trả về kết quả là True nếu tất cả các khóa của từ điển là Đúng (hoặc nếu từ điển trống) |
any() |
Trả kết quả về True nếu bất kỳ khóa nào của từ điển là đúng. Nếu từ điển trống, quay lại False. |
len() |
Trả về độ dài (số lượng các mục) trong từ điển |
cmp() |
So sánh các mục của hai từ điển |
sorted() |
Trả lại danh sách khóa đã được sắp xếp trong từ điển |
Dưới đây là một số ví dụ về việc sử dụng các hàm tích hợp trong Python để làm việc với từ điển:
# Dictionary Built-in Functions
squares = {0: 0, 1: 1, 3: 9, 5: 25, 7: 49, 9: 81}
# Output: False
print(all(squares))
# Output: True
print(any(squares))
# Output: 6
print(len(squares))
# Output: [0, 1, 3, 5, 7, 9]
print(sorted(squares))
Kết quả:
False
True
6
[0, 1, 3, 5, 7, 9]
Thuộc tính của khóa từ điển
Giá trị từ điển không có hạn chế. Chúng có thể là bất kỳ đối tượng Python tùy ý nào, đối tượng chuẩn hoặc đối tượng do người dùng định nghĩa. Tuy nhiên, điều này không đúng với các khóa (keys).
Có hai điểm quan trọng cần nhớ về khóa (keys) của từ điển -
(a) Không được phép có nhiều hơn một mục nhập cho mỗi khóa. Có nghĩa là không có khóa nào được phép trùng lặp. Ví dụ -
#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'}
print "dict['Name']: ", dict['Name']
Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau:
dict['Name']: Manni
(b) Các khóa phải là bất biến. Có nghĩa là bạn có thể sử dụng chuỗi, số hoặc bộ giá trị làm khóa từ điển nhưng những thứ như ['key'] không được phép. Sau đây là một ví dụ đơn giản -
#!/usr/bin/python
dict = {['Name']: 'Zara', 'Age': 7}
print "dict['Name']: ", dict['Name']
Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau:
Traceback (most recent call last):
File "test.py", line 3, in <module>
dict = {['Name']: 'Zara', 'Age': 7};
TypeError: list objects are unhashable
Kết luận: Trên đây là một số kiến thức cơ bản về từ điển trong Python và cách sử dụng từ điển trong Python. Đây là một trong những kiến thức cốt lõi mà bạn cần trong quá trình lập trình với Python. Tìm hiểu thêm về Python qua các khóa học Lập trình tại T3H!