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. {}
Các 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 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 bất biến, 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 phần 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 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ư minh họa bên dưới 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 thành phần 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 toàn bộ từ điển một cách rõ ràng, 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. Lưu ý rằng một ngoại lệ được đưa ra bởi vì sau khi 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 print "dict['Age']: ", dict['Age']; TypeError: 'type' object is unsubscriptable
Lưu ý - phương thức del[] đượ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 ý nào, đối tượng tiêu 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 phím
Có hai điểm quan trọng cần nhớ về khóa từ điển -
[a] Không được phép nhập nhiều hơn một mục trên mỗi khóa. Điều đó có nghĩa là không cho phép khóa trùng lặp. Khi gặp phải các khóa trùng lặp trong quá trình gán, nhiệm vụ cuối cùng sẽ thắng. Ví dụ -
________số 8Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -
dict['Name']: Manni
[b] Khóa phải là 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 những thứ như ['key']. Sau đây là một ví dụ đơn giản -
dict['Name']: Zara dict['Age']: 70
Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -
dict['Name']: Zara dict['Age']: 71
Các chức năng & phương pháp từ điển tích hợp
Python bao gồm các chức năng từ điển sau -
Sr. Không. Chức năng với Description1cmp[dict1, dict2]So sánh các yếu tố của cả dict
2len[chính tả]Cung cấp tổng chiều dài của từ điển. Điều này sẽ bằng với số lượng mục trong từ điển
3str[chính tả]Tạo một biểu diễn chuỗi có thể in được của một từ điển
4 loại [biến]Trả về kiểu của biến đã truyền. Nếu biến được truyền là từ điển thì nó sẽ trả về kiểu từ điển
Trong Python, bạn có thể thêm một mục mới vào từ điển
dict['Alice']: Traceback [most recent call last]: File "test.py", line 4, in print "dict['Alice']: ", dict['Alice']; KeyError: 'Alice'0 với
dict['Alice']: Traceback [most recent call last]: File "test.py", line 4, in print "dict['Alice']: ", dict['Alice']; KeyError: 'Alice'1. Theo cách này, nếu khóa đã tồn tại, giá trị được cập nhật [ghi đè] bằng giá trị mới
Bằng cách sử dụng phương pháp
dict['Name']: Zara dict['Age']: 720, bạn chỉ có thể thêm các mục có giá trị mới cho các khóa mới mà không thay đổi giá trị cho các khóa hiện có
- Các loại tích hợp - dict. setdefault[] — Python 3. 9. 7 tài liệu
Điều này hữu ích khi bạn không muốn thay đổi một mục hiện có
Bài viết này mô tả các nội dung sau
- Thêm và cập nhật một mục vào từ điển bằng cách chỉ định khóa
- Cách sử dụng phương pháp
dict['Name']: Zara dict['Age']: 7
20 - Giá trị trả về của phương thức
dict['Name']: Zara dict['Age']: 7
20
dict['Name']: Zara dict['Age']: 723 được sử dụng để kiểm tra xem khóa có tồn tại trong
dict['Alice']: Traceback [most recent call last]: File "test.py", line 4, in print "dict['Alice']: ", dict['Alice']; KeyError: 'Alice'0 hay không. Xem bài viết sau
- Kiểm tra xem khóa/giá trị có tồn tại trong từ điển bằng Python không
Liên kết được tài trợ
Thêm và cập nhật một mục vào từ điển bằng cách chỉ định khóa
Bạn có thể thêm/cập nhật các mục từ điển theo cách sau
dict['Name']: Zara dict['Age']: 76
Nếu khóa không tồn tại được chỉ định, một mục mới sẽ được thêm vào. Nếu một khóa đã tồn tại được chỉ định, giá trị hiện có sẽ được cập nhật [ghi đè]
dict['Name']: Zara dict['Age']: 72
nguồn. dict_add_update. py
Để biết thêm thông tin về cách thêm nhiều mục cùng lúc hoặc hợp nhất nhiều từ điển, hãy xem các bài viết sau
- Hợp nhất nhiều từ điển và thêm các mục vào từ điển trong Python
Cách sử dụng phương pháp dict['Name']: Zara
dict['Age']: 7
20
Trong phương thức
dict['Name']: Zara dict['Age']: 720, đối số đầu tiên là khóa và đối số thứ hai là giá trị
Nếu khóa được chỉ định trong đối số đầu tiên không tồn tại, một mục mới sẽ được thêm vào
#!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} print "dict['Alice']: ", dict['Alice']0
nguồn. dict_setdefault. py
Giá trị mặc định của đối số thứ hai là
dict['Name']: Zara dict['Age']: 727. Nếu nó bị bỏ qua, mục có giá trị
dict['Name']: Zara dict['Age']: 727 sẽ được thêm vào
#!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} print "dict['Alice']: ", dict['Alice']3
nguồn. dict_setdefault. py
Nếu khóa được chỉ định làm đối số đầu tiên đã tồn tại, mục hiện có sẽ không thay đổi như ban đầu, bất kể giá trị nào được chỉ định làm đối số thứ hai
#!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} print "dict['Alice']: ", dict['Alice']4
nguồn. dict_setdefault. py
Liên kết được tài trợ
Giá trị trả về của phương thức dict['Name']: Zara
dict['Age']: 7
20
Phương thức
dict['Name']: Zara dict['Age']: 720 trả về giá trị cho khóa được chỉ định làm đối số đầu tiên
Nếu khóa được chỉ định trong đối số đầu tiên không tồn tại, thì mục đó được thêm vào với giá trị được chỉ định trong đối số thứ hai, sau đó giá trị được trả về
#!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} print "dict['Alice']: ", dict['Alice']7
nguồn. dict_setdefault. py
Nếu đối số thứ hai bị bỏ qua, mục có giá trị là
dict['Name']: Zara dict['Age']: 727 sẽ được thêm vào và trả về
dict['Name']: Zara dict['Age']: 727