Cộng đồng chia sẻ tri thức Lib24.vn

Python - Từ điển

Gửi bởi: Phạm Thọ Thái Dương 19 tháng 2 2020 lúc 16:06:28


Mục lục
* * * * *

Mỗi khóa được phân tách khỏi giá trị của nó bằng dấu hai chấm (:), các mục được phân tách bằng dấu phẩy và toàn bộ nội dung được đặt trong dấu ngoặc nhọn. Một từ điển trống không có bất kỳ mục nào được viết chỉ bằng hai dấu ngoặc nhọn, như thế này: {}.

Khóa là duy nhất trong một từ điển trong khi các giá trị có thể không. Các giá trị của một từ điển có thể thuộc bất kỳ loại nào, nhưng các khóa phải thuộc loại dữ liệu không thay đổi, chẳng hạn như chuỗi, số hoặc bộ dữ liệu.

Truy cập các giá trị trong từ điển

Để truy cập các yếu tố từ điển, bạn có thể sử dụng dấu ngoặc vuông quen thuộc cùng với khóa để lấy giá trị của nó. Sau đây là một ví dụ đơn giản -

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict['Name']: ", dict['Name']
print "dict['Age']: ", dict['Age']

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -

dict['Name']:  Zara
dict['Age']:  7

Nếu chúng tôi cố gắng truy cập một mục dữ liệu bằng một khóa không phải là một phần của từ điển, chúng tôi sẽ gặp lỗi như sau -

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict['Alice']: ", dict['Alice']

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -

dict['Alice']:
Traceback (most recent call last):
   File "test.py", line 4, in <module>
      print "dict['Alice']: ", dict['Alice'];
KeyError: 'Alice'

Cập nhật từ điển

Bạn có thể cập nhật từ điển bằng cách thêm mục nhập mới hoặc cặp khóa-giá trị, sửa đổi mục nhập hiện có hoặc xóa mục nhập hiện có như dưới đây trong ví dụ đơn giản -

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry

print "dict['Age']: ", dict['Age']
print "dict['School']: ", dict['School']

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -

dict['Age']:  8
dict['School']:  DPS School

Xóa các yếu tố từ điển

Bạn có thể xóa các thành phần từ điển riêng lẻ hoặc xóa toàn bộ nội dung của từ điển. Bạn cũng có thể xóa toàn bộ từ điển trong một thao tác.

Để xóa một cách rõ ràng toàn bộ từ điển, chỉ cần sử dụng câu lệnh del . Sau đây là một ví dụ đơn giản -

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
del dict['Name']; # remove entry with key 'Name'
dict.clear();     # remove all entries in dict
del dict ;        # delete entire dictionary

print "dict['Age']: ", dict['Age']
print "dict['School']: ", dict['School']

Điều này tạo ra kết quả sau đây. Lưu ý rằng một ngoại lệ được nêu ra vì sau từ điển del dict không còn tồn tại nữa -

dict['Age']:
Traceback (most recent call last):
   File "test.py", line 8, in <module>
      print "dict['Age']: ", dict['Age'];
TypeError: 'type' object is unsubscriptable

Lưu ý - phương thức del () sẽ được thảo luận trong phần tiếp theo.

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 ý, đối tượng tiêu chuẩn hoặc đối tượng do người dùng xác định. Tuy nhiên, điều tương tự không đúng với các phím.

Có hai điểm quan trọng cần nhớ về khóa từ điển -

(a) Nhiều hơn một mục nhập cho mỗi khóa không được phép. Có nghĩa là không cho phép trùng lặp khóa. Khi các khóa trùng lặp gặp phải trong khi gán, lần gán cuối cùng sẽ thắng. 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) Chìa khóa phải bất biến. Điều đó có nghĩa là bạn có thể sử dụng chuỗi, số hoặc bộ dữ liệu làm khóa từ điển nhưng không được phép sử dụng ['key']. 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: unhashable type: 'list'

Các chức năng & phương pháp từ điển tích hợp

Python bao gồm các hàm từ điển sau -

Python bao gồm các phương thức từ điển sau -


Được cập nhật: 24 tháng 4 lúc 13:21:29 | Lượt xem: 431