Khóa từ điển Python có thể là đối tượng không?

Từ điển Python là một tập hợp các cặp khóa-giá trị. Một từ điển là một đối tượng của lớp dict. Đó là một bộ sưu tập không có thứ tự có nghĩa là trong khi lặp lại thứ tự truy xuất không được đảm bảo. Các khóa và giá trị từ điển có thể thuộc bất kỳ loại nào. Họ cũng có thể là

>>> my_dict = {1:"1", 2:"2"}
>>> del my_dict[1]
>>> print(my_dict)
{2: '2'}
>>> del my_dict
>>> print(my_dict)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'my_dict' is not defined
>>> 
0. Khóa và giá trị của nó được phân tách bằng dấu hai chấm. Các bản ghi từ điển được lập chỉ mục bằng cách sử dụng khóa

Mục từ điển Python

Các cặp khóa-giá trị còn được gọi là các mục hoặc thành phần của từ điển. Chúng ta có thể sử dụng dict. items() để có thể lặp lại các mục trong từ điển. Không có hạn chế về giá trị của các mục từ điển

Khóa từ điển Python

Các phím là duy nhất trong từ điển. Nó được sử dụng để lấy các bản ghi từ từ điển. Một từ điển được tạo bằng cách sử dụng một cặp dấu ngoặc nhọn. Các cặp khóa-giá trị được phân tách bằng dấu phẩy

Khóa từ điển phải là bất biến. Vì vậy, chúng tôi có thể sử dụng chuỗi, số và bộ dữ liệu làm khóa chính tả. Nếu bộ chứa bất kỳ đối tượng có thể thay đổi nào, chúng tôi không thể sử dụng nó làm khóa từ điển

Chúng tôi có thể sử dụng Danh sách làm Khóa từ điển không?

Chúng tôi không thể sử dụng Danh sách làm khóa từ điển vì nó có thể được sửa đổi. Nếu chúng ta cố gắng sử dụng một danh sách làm khóa, nó sẽ đưa ra “TypeError. loại không thể xóa. danh sách"


Tạo từ điển

Các mục từ điển được phân tách bằng dấu phẩy và cặp khóa-giá trị được phân tách bằng dấu hai chấm. Các dấu ngoặc nhọn được sử dụng để xác định từ điển với tất cả các mục. Hãy xem một ví dụ đơn giản để tạo một từ điển và in nó

>>> fruits_dict = {"1": "Apple", "2": "Banana", 3: "Orange", None: "NA"}
>>> print(fruits_dict)
{'1': 'Apple', '2': 'Banana', 3: 'Orange', None: 'NA'}
>>> type(fruits_dict)
<class 'dict'>

Lưu ý rằng loại của lớp từ điển là

>>> my_dict = {1:"1", 2:"2"}
>>> del my_dict[1]
>>> print(my_dict)
{2: '2'}
>>> del my_dict
>>> print(my_dict)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'my_dict' is not defined
>>> 
1 và các khóa-giá trị cũng thuộc các loại khác nhau

Khóa từ điển Python có thể là đối tượng không?
Tạo từ điển

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

Chúng ta có thể truy cập một giá trị từ điển bằng cách sử dụng tên khóa trong ngoặc vuông

>>> fruits_dict["1"]
'Apple'
>>> fruits_dict["2"]
'Banana'
>>> fruits_dict[3]
'Orange'
>>> fruits_dict[None]
'NA'

Khóa từ điển Python có thể là đối tượng không?
Truy cập các giá trị từ điển

Nếu khóa không tồn tại, cách này để truy cập phần tử từ điển sẽ làm tăng KeyError. Tốt hơn là sử dụng phương thức

>>> my_dict = {1:"1", 2:"2"}
>>> del my_dict[1]
>>> print(my_dict)
{2: '2'}
>>> del my_dict
>>> print(my_dict)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'my_dict' is not defined
>>> 
2 trả về
>>> my_dict = {1:"1", 2:"2"}
>>> del my_dict[1]
>>> print(my_dict)
{2: '2'}
>>> del my_dict
>>> print(my_dict)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'my_dict' is not defined
>>> 
0 nếu không có khóa


Thêm/Cập nhật giá trị từ điển

Chúng ta có thể thêm hoặc cập nhật các phần tử từ điển bằng toán tử gán. Nếu khóa không tồn tại trong từ điển, cặp khóa-giá trị sẽ được thêm vào từ điển. Nếu không, giá trị được cập nhật với giá trị mới

fruits_dict = {"1": "Apple", "2": "Banana"}

print(f'Original Dictionary = {fruits_dict}')

# insert
fruits_dict["3"] = "Orange"

# update
fruits_dict["1"] = "Kiwi"

print(f'Updated Dictionary = {fruits_dict}')

Khóa từ điển Python có thể là đối tượng không?
Thêm mục từ điển cập nhật

Xóa các mục từ điển

Chúng ta có thể sử dụng từ khóa del để xóa cặp khóa-giá trị từ điển. Nếu chúng ta sử dụng từ khóa del với từ điển thì toàn bộ từ điển sẽ bị xóa, khác với việc xóa tất cả các thành phần của từ điển

>>> my_dict = {1:"1", 2:"2"}
>>> del my_dict[1]
>>> print(my_dict)
{2: '2'}
>>> del my_dict
>>> print(my_dict)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'my_dict' is not defined
>>> 


Lặp lại từ điển bằng vòng lặp for

Chúng ta có thể lặp qua từ điển bằng vòng lặp for. Có nhiều cách sử dụng vòng lặp for với từ điển


1. Mục từ điển () chức năng

Hàm items() trả về một đối tượng dict_items, có thể lặp lại. Chúng ta có thể sử dụng nó với vòng lặp for và giải nén các phần tử của nó thành khóa và giá trị, sau đó sử dụng chúng bên trong vòng lặp for

________số 8

đầu ra

dict_items([('1', 'Apple'), ('2', 'Banana'), ('3', 'Orange')])
1=Apple
2=Banana
3=Orange


2. Lặp qua các phím từ điển

Nếu chúng ta sử dụng đối tượng từ điển trong vòng lặp for, nó sẽ trả về từng khóa một. Vì từ điển không có thứ tự nên các khóa được trả về có thể theo bất kỳ thứ tự nào

>>> fruits_dict = {"1": "Apple", "2": "Banana", 3: "Orange", None: "NA"}
>>> print(fruits_dict)
{'1': 'Apple', '2': 'Banana', 3: 'Orange', None: 'NA'}
>>> type(fruits_dict)
<class 'dict'>
0

đầu ra

>>> fruits_dict = {"1": "Apple", "2": "Banana", 3: "Orange", None: "NA"}
>>> print(fruits_dict)
{'1': 'Apple', '2': 'Banana', 3: 'Orange', None: 'NA'}
>>> type(fruits_dict)
<class 'dict'>
1


3. Các giá trị từ điển Python()

Chúng ta có thể sử dụng hàm values() để lấy các giá trị từ điển và sau đó lặp lại chúng. Hàm values() trả về một đối tượng dict_values, là danh sách các giá trị trong dict

>>> fruits_dict = {"1": "Apple", "2": "Banana", 3: "Orange", None: "NA"}
>>> print(fruits_dict)
{'1': 'Apple', '2': 'Banana', 3: 'Orange', None: 'NA'}
>>> type(fruits_dict)
<class 'dict'>
2

đầu ra

>>> fruits_dict = {"1": "Apple", "2": "Banana", 3: "Orange", None: "NA"}
>>> print(fruits_dict)
{'1': 'Apple', '2': 'Banana', 3: 'Orange', None: 'NA'}
>>> type(fruits_dict)
<class 'dict'>
3


Kiểm tra xem khóa có tồn tại trong Từ điển không

Chúng ta có thể sử dụng từ khóa “in” để kiểm tra xem từ khóa có tồn tại trong từ điển hay không. Tương tự chúng ta có thể dùng từ khóa “not in” để kiểm tra xem có thiếu key hay không

>>> fruits_dict["1"]
'Apple'
>>> fruits_dict["2"]
'Banana'
>>> fruits_dict[3]
'Orange'
>>> fruits_dict[None]
'NA'
0


Độ dài của từ điển

Chúng ta có thể sử dụng hàm len() để tìm ra độ dài hoặc kích thước của từ điển

>>> fruits_dict["1"]
'Apple'
>>> fruits_dict["2"]
'Banana'
>>> fruits_dict[3]
'Orange'
>>> fruits_dict[None]
'NA'
1


Trình xây dựng dict() của Python

Chúng ta có thể sử dụng hàm tạo dict() tích hợp để tạo một đối tượng từ điển

>>> fruits_dict["1"]
'Apple'
>>> fruits_dict["2"]
'Banana'
>>> fruits_dict[3]
'Orange'
>>> fruits_dict[None]
'NA'
2


Phương pháp từ điển Python

Lớp dict Python có nhiều phương thức. Hãy xem xét một số phương thức quan trọng của lớp dict


1. giá trị()

Phương thức này trả về một đối tượng chứa các giá trị từ từ điển. Loại đối tượng được trả về là 'dict_values' và chúng ta có thể lặp lại nó để thực hiện một số thao tác trên các giá trị từ điển

>>> fruits_dict["1"]
'Apple'
>>> fruits_dict["2"]
'Banana'
>>> fruits_dict[3]
'Orange'
>>> fruits_dict[None]
'NA'
3

Khóa từ điển Python có thể là đối tượng không?

2. mặt hàng()

Phương pháp này cung cấp chế độ xem giống như tập hợp các mục Từ điển. Nó chủ yếu được sử dụng để giải nén các cặp khóa-giá trị từ điển thành các giá trị khác nhau và sau đó lặp lại chúng

>>> fruits_dict["1"]
'Apple'
>>> fruits_dict["2"]
'Banana'
>>> fruits_dict[3]
'Orange'
>>> fruits_dict[None]
'NA'
4

đầu ra

>>> fruits_dict["1"]
'Apple'
>>> fruits_dict["2"]
'Banana'
>>> fruits_dict[3]
'Orange'
>>> fruits_dict[None]
'NA'
5


3. pop(key[,default])

Phương thức này xóa khóa đã chỉ định khỏi từ điển và trả về giá trị tương ứng. Nếu không tìm thấy khóa, giá trị mặc định tùy chọn được trả về. Nếu không tìm thấy khóa và giá trị mặc định không được cung cấp, KeyError sẽ được nâng lên

>>> fruits_dict["1"]
'Apple'
>>> fruits_dict["2"]
'Banana'
>>> fruits_dict[3]
'Orange'
>>> fruits_dict[None]
'NA'
6

Chúng tôi đang sử dụng khối thử ngoại trừ để bắt lỗi KeyError và in thông báo lỗi


4. sao chép()

Hàm này trả về một bản sao nông của từ điển. Nếu đối tượng bên dưới có thể thay đổi và thay đổi, thì thay đổi đó cũng sẽ phản ánh trong lệnh được trả về bằng phương thức copy()

>>> fruits_dict["1"]
'Apple'
>>> fruits_dict["2"]
'Banana'
>>> fruits_dict[3]
'Orange'
>>> fruits_dict[None]
'NA'
7

đầu ra

>>> fruits_dict["1"]
'Apple'
>>> fruits_dict["2"]
'Banana'
>>> fruits_dict[3]
'Orange'
>>> fruits_dict[None]
'NA'
8


5. xa lạ()

Phương pháp này loại bỏ tất cả các mục từ từ điển. Nó tương tự như việc gán biến cho một từ điển trống

>>> fruits_dict["1"]
'Apple'
>>> fruits_dict["2"]
'Banana'
>>> fruits_dict[3]
'Orange'
>>> fruits_dict[None]
'NA'
9


6. fromKeys(có thể lặp lại, giá trị)

Phương thức tĩnh này tạo một từ điển mới với các khóa từ có thể lặp lại và các giá trị được đặt thành giá trị được cung cấp. Nếu giá trị không được cung cấp, các giá trị được đặt thành Không có

fruits_dict = {"1": "Apple", "2": "Banana"}

print(f'Original Dictionary = {fruits_dict}')

# insert
fruits_dict["3"] = "Orange"

# update
fruits_dict["1"] = "Kiwi"

print(f'Updated Dictionary = {fruits_dict}')
0

đầu ra

fruits_dict = {"1": "Apple", "2": "Banana"}

print(f'Original Dictionary = {fruits_dict}')

# insert
fruits_dict["3"] = "Orange"

# update
fruits_dict["1"] = "Kiwi"

print(f'Updated Dictionary = {fruits_dict}')
1


7. nhận (khóa [, mặc định])

Phương thức này trả về giá trị cho khóa. Nếu không tìm thấy khóa, giá trị mặc định tùy chọn được trả về. Nếu không tìm thấy khóa và giá trị mặc định không được cung cấp, thì trả về Không có

fruits_dict = {"1": "Apple", "2": "Banana"}

print(f'Original Dictionary = {fruits_dict}')

# insert
fruits_dict["3"] = "Orange"

# update
fruits_dict["1"] = "Kiwi"

print(f'Updated Dictionary = {fruits_dict}')
2


8. phím()

Hàm này trả về danh sách các khóa trong đối tượng dict_keys. Chúng tôi có thể lặp lại danh sách này để xử lý các giá trị từ điển

fruits_dict = {"1": "Apple", "2": "Banana"}

print(f'Original Dictionary = {fruits_dict}')

# insert
fruits_dict["3"] = "Orange"

# update
fruits_dict["1"] = "Kiwi"

print(f'Updated Dictionary = {fruits_dict}')
3

đầu ra

fruits_dict = {"1": "Apple", "2": "Banana"}

print(f'Original Dictionary = {fruits_dict}')

# insert
fruits_dict["3"] = "Orange"

# update
fruits_dict["1"] = "Kiwi"

print(f'Updated Dictionary = {fruits_dict}')
4


9. popitem()

Phương thức này loại bỏ và trả về một số mục từ điển dưới dạng bộ khóa-giá trị. Nếu từ điển trống, KeyError được nâng lên. Chúng ta có thể sử dụng chức năng này với vòng lặp while để xử lý các mục từ điển theo thứ tự ngẫu nhiên

fruits_dict = {"1": "Apple", "2": "Banana"}

print(f'Original Dictionary = {fruits_dict}')

# insert
fruits_dict["3"] = "Orange"

# update
fruits_dict["1"] = "Kiwi"

print(f'Updated Dictionary = {fruits_dict}')
5

đầu ra

fruits_dict = {"1": "Apple", "2": "Banana"}

print(f'Original Dictionary = {fruits_dict}')

# insert
fruits_dict["3"] = "Orange"

# update
fruits_dict["1"] = "Kiwi"

print(f'Updated Dictionary = {fruits_dict}')
6


10. setdefault(key[,default])

Phương pháp này được sử dụng để thêm một khóa vào từ điển khi và chỉ khi nó không có trong từ điển. Phương thức này đặt giá trị khóa thành giá trị mặc định được cung cấp, nếu không thì Không

Phương thức trả về giá trị cho khóa nếu nó có trong từ điển, nếu không thì trả về giá trị mặc định

fruits_dict = {"1": "Apple", "2": "Banana"}

print(f'Original Dictionary = {fruits_dict}')

# insert
fruits_dict["3"] = "Orange"

# update
fruits_dict["1"] = "Kiwi"

print(f'Updated Dictionary = {fruits_dict}')
7

đầu ra

fruits_dict = {"1": "Apple", "2": "Banana"}

print(f'Original Dictionary = {fruits_dict}')

# insert
fruits_dict["3"] = "Orange"

# update
fruits_dict["1"] = "Kiwi"

print(f'Updated Dictionary = {fruits_dict}')
8


11. cập nhật (dict)

Phương pháp này được sử dụng để cập nhật các mục từ điển từ từ điển đã cho. Nếu không tìm thấy khóa từ điển đã cho, nó sẽ được thêm vào từ điển. Nếu khóa được tìm thấy, giá trị sẽ được cập nhật

fruits_dict = {"1": "Apple", "2": "Banana"}

print(f'Original Dictionary = {fruits_dict}')

# insert
fruits_dict["3"] = "Orange"

# update
fruits_dict["1"] = "Kiwi"

print(f'Updated Dictionary = {fruits_dict}')
9

đầu ra.

>>> my_dict = {1:"1", 2:"2"}
>>> del my_dict[1]
>>> print(my_dict)
{2: '2'}
>>> del my_dict
>>> print(my_dict)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'my_dict' is not defined
>>> 
4


Tóm lược

Từ điển là một bộ sưu tập giống như bản đồ để lưu trữ các cặp khóa-giá trị. Các mục trong từ điển được truy cập thông qua chỉ mục dựa trên khóa. Chúng tôi có thể cập nhật, thêm và xóa các mục từ điển. Có nhiều cách khác nhau để sử dụng vòng lặp for để lặp qua các khóa, giá trị hoặc mục từ điển

Khóa từ điển Python có thể là gì?

Chuỗi, số và bộ hoạt động như khóa và bất kỳ loại nào cũng có thể là giá trị. Các loại khác có thể hoặc không thể hoạt động chính xác như các khóa (chuỗi và bộ dữ liệu hoạt động rõ ràng vì chúng không thay đổi). Tra cứu một giá trị không có trong chính tả sẽ đưa ra Lỗi Key -- sử dụng "in" để kiểm tra xem khóa có trong chính tả hay sử dụng dict.

Điều gì không thể là chìa khóa trong từ điển Python?

Chúng ta có thể sử dụng số nguyên, chuỗi, bộ dữ liệu làm khóa từ điển nhưng không thể sử dụng danh sách làm khóa của nó

Các khóa từ điển có thể là bất kỳ loại dữ liệu nào không?

Khóa từ điển phải thuộc loại bất biến . Chuỗi và số là hai kiểu dữ liệu được sử dụng phổ biến nhất làm khóa từ điển. Chúng ta cũng có thể sử dụng các bộ dữ liệu làm khóa nhưng chúng chỉ được chứa các chuỗi, số nguyên hoặc các bộ dữ liệu khác. Chúng tôi đã tạo một từ điển với các khóa số nguyên.