thisdict = {& nbsp; & nbsp; "thương hiệu": "ford", & nbsp; & nbsp; "model": "mustang", & nbsp; & nbsp; "năm": 1964}
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
Từ điển
Từ điển được sử dụng để lưu trữ các giá trị dữ liệu trong khóa: các cặp giá trị.
Từ điển là một bộ sưu tập được đặt hàng*, có thể thay đổi và không cho phép trùng lặp.
Kể từ phiên bản Python 3.7, từ điển được đặt hàng. Trong Python 3.6 và trước đó, từ điển không được đặt hàng.
Từ điển được viết bằng dấu ngoặc xoăn, và có các khóa và giá trị:
Thí dụ
Tạo và in một từ điển:
thisdict = {& nbsp; & nbsp; "thương hiệu": "ford", & nbsp; & nbsp; "model": "mustang", & nbsp; & nbsp; "năm": 1964} in [thisdict]
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
print[thisdict]
Hãy tự mình thử »
Các mặt hàng từ điển
Các mục từ điển được đặt hàng, thay đổi và không cho phép trùng lặp.
Các mục từ điển được trình bày trong khóa: các cặp giá trị và có thể được đề cập bằng cách sử dụng tên khóa.
Thí dụ
Tạo và in một từ điển:
thisdict = {& nbsp; & nbsp; "thương hiệu": "ford", & nbsp; & nbsp; "model": "mustang", & nbsp; & nbsp; "năm": 1964} in [thisdict]
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
print[thisdict["brand"]]
Hãy tự mình thử »
Các mặt hàng từ điển
Kể từ phiên bản Python 3.7, từ điển được đặt hàng. Trong Python 3.6 và trước đó, từ điển không được đặt hàng.
Từ điển được viết bằng dấu ngoặc xoăn, và có các khóa và giá trị:
Thí dụ
Tạo và in một từ điển:
thisdict = {& nbsp; & nbsp; "thương hiệu": "ford", & nbsp; & nbsp; "model": "mustang", & nbsp; & nbsp; "năm": 1964} in [thisdict]
Hãy tự mình thử »
Các mặt hàng từ điển
Thí dụ
Tạo và in một từ điển:
thisdict = {& nbsp; & nbsp; "thương hiệu": "ford", & nbsp; & nbsp; "model": "mustang", & nbsp; & nbsp; "năm": 1964} in [thisdict]
"brand": "Ford",
"model": "Mustang",
"year": 1964,
"year": 2020
}
print[thisdict]
Hãy tự mình thử »
Các mặt hàng từ điển
Các mục từ điển được đặt hàng, thay đổi và không cho phép trùng lặp.
Thí dụ
Tạo và in một từ điển:
thisdict = {& nbsp; & nbsp; "thương hiệu": "ford", & nbsp; & nbsp; "model": "mustang", & nbsp; & nbsp; "năm": 1964} in [thisdict]
Hãy tự mình thử »
Các mặt hàng từ điển
Các mục từ điển được đặt hàng, thay đổi và không cho phép trùng lặp.
Thí dụ
Tạo và in một từ điển:
thisdict = {& nbsp; & nbsp; "thương hiệu": "ford", & nbsp; & nbsp; "model": "mustang", & nbsp; & nbsp; "năm": 1964} in [thisdict]
"brand": "Ford",
"electric": False,
"year": 1964,
"colors": ["red", "white", "blue"]
}
Hãy tự mình thử »
type[]
Các mặt hàng từ điển
Các mục từ điển được đặt hàng, thay đổi và không cho phép trùng lặp.
Thí dụ
Tạo và in một từ điển:
thisdict = {& nbsp; & nbsp; "thương hiệu": "ford", & nbsp; & nbsp; "model": "mustang", & nbsp; & nbsp; "năm": 1964} in [thisdict]
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
print[type[thisdict]]
Hãy tự mình thử »
Các mặt hàng từ điển
Các mục từ điển được đặt hàng, thay đổi và không cho phép trùng lặp.dict[] constructor to make a dictionary.
Thí dụ
Tạo và in một từ điển:
thisdict = {& nbsp; & nbsp; "thương hiệu": "ford", & nbsp; & nbsp; "model": "mustang", & nbsp; & nbsp; "năm": 1964} in [thisdict]
print[thisdict]
Hãy tự mình thử »
Các mặt hàng từ điển
Các mục từ điển được đặt hàng, thay đổi và không cho phép trùng lặp.
- Các mục từ điển được trình bày trong khóa: các cặp giá trị và có thể được đề cập bằng cách sử dụng tên khóa. is a collection which is ordered and changeable. Allows duplicate members.
- In giá trị "thương hiệu" của từ điển: is a collection which is ordered and unchangeable. Allows duplicate members.
- this is a collection which is unordered, unchangeable*, and unindexed. No duplicate members.
- Đặt hàng hoặc không được đặt hàng? is a collection which is ordered** and changeable. No duplicate members.
Khi chúng ta nói rằng từ điển được đặt hàng, điều đó có nghĩa là các mục có thứ tự xác định và thứ tự đó sẽ không thay đổi.
Không được đặt hàng có nghĩa là các mục không có thứ tự được xác định, bạn không thể tham khảo một mục bằng cách sử dụng một chỉ mục.
Có thể thay đổi
Họ cũng có thể giảm khả năng đọc của mã.key/value pair. For example:
my_dict = {1: 'apple', 2: 'ball'}
Chúng ta không được cố gắng phù hợp với một logic khó khăn hoặc một số lượng lớn sự hiểu biết từ điển bên trong chúng chỉ vì mục đích làm cho mã đơn lẻ. Trong những trường hợp này, tốt hơn là chọn các lựa chọn thay thế khác như vòng lặp.
Từ điển và bộ trong Python là gì?
Một tập hợp là một bộ sưu tập không theo thứ tự. Từ điển là một bộ sưu tập dữ liệu không có thứ tự lưu trữ dữ liệu theo các cặp giá trị khóa.
Được đặt giống như từ điển trong Python?
Lớp Set của Python đại diện cho khái niệm toán học của một tập hợp. Từ điển: Trong Python là một thứ tự [vì PY 3.7] [không theo thứ tự [Py 3.6 & trước]] thu thập các giá trị dữ liệu, được sử dụng để lưu trữ các giá trị dữ liệu như bản đồ, không giống như các loại dữ liệu khác chỉ chứa một giá trị duy nhất như một phần tử , Từ điển giữ khóa: cặp giá trị.
square_dict = dict[]
for num in range[1, 11]:
square_dict[num] = num*num
print[square_dict]
Bộ nào được đặt nhanh hơn hoặc từ điển trong Python?
# dictionary comprehension example
square_dict = {num: num*num for num in range[1, 11]}
print[square_dict]
Cách nhanh nhất để tra cứu dữ liệu liên tục với hàng triệu mục trong Python là sử dụng từ điển. Bởi vì từ điển là loại ánh xạ tích hợp trong Python do đó chúng được tối ưu hóa cao.
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}
Trong cả hai chương trình, chúng tôi đã tạo ra một từ điển
square_dict = dict[]
for num in range[1, 11]:
square_dict[num] = num*num
print[square_dict]
8 với cặp khóa/giá trị hình vuông số.number-square key/value pair.Tuy nhiên, việc sử dụng khả năng hiểu từ điển cho phép chúng tôi tạo một từ điển trong một dòng.create a dictionary in a single line.
Sử dụng từ điển hiểu
Từ ví dụ trên, chúng ta có thể thấy rằng sự hiểu biết từ điển nên được viết theo một mẫu cụ thể.
Cú pháp tối thiểu để hiểu từ điển là:
dictionary = {key: value for vars in iterable}
Hãy so sánh cú pháp này với sự hiểu biết từ điển từ ví dụ trên.
Bây giờ, chúng ta hãy xem cách chúng ta có thể sử dụng từ điển Hiểu bằng cách sử dụng dữ liệu từ một từ điển khác.
Ví dụ 3: Cách sử dụng từ điển Hiểu
#item price in dollars
old_price = {'milk': 1.02, 'coffee': 2.5, 'bread': 2.5}
dollar_to_pound = 0.76
new_price = {item: value*dollar_to_pound for [item, value] in old_price.items[]}
print[new_price]
Đầu ra
{'milk': 0.7752, 'coffee': 1.9, 'bread': 1.9}
Ở đây, chúng ta có thể thấy rằng chúng ta đã lấy giá mặt hàng bằng đô la và chuyển đổi chúng thành bảng. Sử dụng từ điển Hiểu biết làm cho nhiệm vụ này đơn giản và ngắn hơn nhiều.
Điều kiện trong từ điển hiểu
Chúng ta có thể tùy chỉnh thêm từ điển hiểu bằng cách thêm các điều kiện vào nó. Hãy xem xét một ví dụ.
Ví dụ 4: Nếu khả năng hiểu từ điển có điều kiện
original_dict = {'jack': 38, 'michael': 48, 'guido': 57, 'john': 33}
even_dict = {k: v for [k, v] in original_dict.items[] if v % 2 == 0}
print[even_dict]
Đầu ra
{'jack': 38, 'michael': 48}
Như chúng ta có thể thấy, chỉ có các mục có giá trị chẵn đã được thêm vào, vì điều khoản
square_dict = dict[]
for num in range[1, 11]:
square_dict[num] = num*num
print[square_dict]
9 trong sự hiểu biết từ điển.Ví dụ 5: Nhiều nếu hiểu được từ điển có điều kiện
original_dict = {'jack': 38, 'michael': 48, 'guido': 57, 'john': 33}
new_dict = {k: v for [k, v] in original_dict.items[] if v % 2 != 0 if v < 40}
print[new_dict]
Đầu ra
square_dict = dict[]
for num in range[1, 11]:
square_dict[num] = num*num
print[square_dict]
0Như chúng ta có thể thấy, chỉ có các mục có giá trị chẵn đã được thêm vào, vì điều khoản
square_dict = dict[]
for num in range[1, 11]:
square_dict[num] = num*num
print[square_dict]
9 trong sự hiểu biết từ điển.Ví dụ 5: Nhiều nếu hiểu được từ điển có điều kiện
Trong trường hợp này, chỉ các mục có giá trị lẻ dưới 40 đã được thêm vào từ điển mới.
square_dict = dict[]
for num in range[1, 11]:
square_dict[num] = num*num
print[square_dict]
1Đầu ra
square_dict = dict[]
for num in range[1, 11]:
square_dict[num] = num*num
print[square_dict]
2Như chúng ta có thể thấy, chỉ có các mục có giá trị chẵn đã được thêm vào, vì điều khoản
square_dict = dict[]
for num in range[1, 11]:
square_dict[num] = num*num
print[square_dict]
9 trong sự hiểu biết từ điển.Ví dụ 5: Nhiều nếu hiểu được từ điển có điều kiện
Trong trường hợp này, chỉ các mục có giá trị lẻ dưới 40 đã được thêm vào từ điển mới.
Đó là do nhiều điều khoản
square_dict = dict[]
for num in range[1, 11]:
square_dict[num] = num*num
print[square_dict]
9 trong sự hiểu biết từ điển. Chúng tương đương với hoạt động # dictionary comprehension example
square_dict = {num: num*num for num in range[1, 11]}
print[square_dict]
1 trong đó cả hai điều kiện phải đúng.Ví dụ 6: Từ điển có điều kiện If-Else
square_dict = dict[]
for num in range[1, 11]:
square_dict[num] = num*num
print[square_dict]
3Đầu ra
square_dict = dict[]
for num in range[1, 11]:
square_dict[num] = num*num
print[square_dict]
4Như chúng ta có thể thấy, chỉ có các mục có giá trị chẵn đã được thêm vào, vì điều khoản
square_dict = dict[]
for num in range[1, 11]:
square_dict[num] = num*num
print[square_dict]
9 trong sự hiểu biết từ điển.Ví dụ 5: Nhiều nếu hiểu được từ điển có điều kiện
Trong trường hợp này, chỉ các mục có giá trị lẻ dưới 40 đã được thêm vào từ điển mới.
square_dict = dict[]
for num in range[1, 11]:
square_dict[num] = num*num
print[square_dict]
5Đó là do nhiều điều khoản
square_dict = dict[]
for num in range[1, 11]:
square_dict[num] = num*num
print[square_dict]
9 trong sự hiểu biết từ điển. Chúng tương đương với hoạt động # dictionary comprehension example
square_dict = {num: num*num for num in range[1, 11]}
print[square_dict]
1 trong đó cả hai điều kiện phải đúng.square_dict = dict[]
for num in range[1, 11]:
square_dict[num] = num*num
print[square_dict]
6Ví dụ 6: Từ điển có điều kiện If-Else
Trong trường hợp này, một từ điển mới được tạo ra thông qua khả năng hiểu từ điển.
Các mặt hàng có giá trị từ 40 trở lên có giá trị của 'cũ' trong khi các mặt hàng khác có giá trị của "trẻ".
Từ điển lồng nhau
Chúng ta có thể thêm các toàn bộ từ điển vào bản thân từ điển để tạo từ điển lồng nhau. Hãy xem xét một ví dụ.
Ví dụ 7: Từ điển lồng nhau với hai phần từ điển
Như bạn có thể thấy, chúng tôi đã xây dựng một bảng nhân trong một từ điển lồng nhau, cho các số từ 2 đến 4.
- Bất cứ khi nào sử dụng sự hiểu biết từ điển lồng nhau, Python trước tiên bắt đầu từ vòng ngoài và sau đó đi đến bên trong.
- Vì vậy, mã trên sẽ tương đương với:
Nó có thể được mở ra thêm: