Python cung cấp một kiểu dữ liệu tổng hợp khác được gọi là từ điển, tương tự như danh sách ở chỗ nó là một tập hợp các đối tượng
Đây là những gì bạn sẽ học trong hướng dẫn này. Bạn sẽ đề cập đến các đặc điểm cơ bản của từ điển Python và tìm hiểu cách truy cập và quản lý dữ liệu từ điển. Khi bạn đã hoàn thành hướng dẫn này, bạn sẽ hiểu rõ khi nào từ điển là kiểu dữ liệu thích hợp để sử dụng và cách thực hiện
Từ điển và danh sách chia sẻ các đặc điểm sau
- Cả hai đều có thể thay đổi
- Cả hai đều năng động. Chúng có thể phát triển và thu nhỏ khi cần thiết
- Cả hai có thể được lồng vào nhau. Một danh sách có thể chứa một danh sách khác. Một từ điển có thể chứa một từ điển khác. Một từ điển cũng có thể chứa một danh sách và ngược lại
Từ điển khác với danh sách chủ yếu ở cách các phần tử được truy cập
- Các phần tử danh sách được truy cập theo vị trí của chúng trong danh sách, thông qua lập chỉ mục
- Các phần tử từ điển được truy cập thông qua các phím
Lấy bài kiểm tra. Kiểm tra kiến thức của bạn với bài kiểm tra tương tác “Từ điển Python” của chúng tôi. Sau khi hoàn thành, bạn sẽ nhận được điểm số để có thể theo dõi quá trình học tập của mình theo thời gian
Lấy bài kiểm tra "
Định nghĩa một từ điển
Từ điển là triển khai của Python về cấu trúc dữ liệu thường được gọi là mảng kết hợp. Một từ điển bao gồm một tập hợp các cặp khóa-giá trị. Mỗi cặp khóa-giá trị ánh xạ khóa với giá trị được liên kết của nó
Bạn có thể định nghĩa một từ điển bằng cách đặt một danh sách các cặp khóa-giá trị được phân tách bằng dấu phẩy trong dấu ngoặc nhọn [
>>> MLB_team = dict[
.. Colorado='Rockies',
.. Boston='Red Sox',
.. Minnesota='Twins',
.. Milwaukee='Brewers',
.. Seattle='Mariners'
.. ]
6]. Dấu hai chấm [>>> MLB_team = dict[
.. Colorado='Rockies',
.. Boston='Red Sox',
.. Minnesota='Twins',
.. Milwaukee='Brewers',
.. Seattle='Mariners'
.. ]
7] phân tách mỗi khóa khỏi giá trị được liên kết của nód = {
: ,
: ,
.
.
.
:
}
Phần sau định nghĩa một từ điển ánh xạ một vị trí tới tên của đội bóng chày Major League tương ứng của nó
>>>
>>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
Bạn cũng có thể xây dựng một từ điển với chức năng
>>> MLB_team = dict[
.. Colorado='Rockies',
.. Boston='Red Sox',
.. Minnesota='Twins',
.. Milwaukee='Brewers',
.. Seattle='Mariners'
.. ]
8 tích hợp. Đối số của >>> MLB_team = dict[
.. Colorado='Rockies',
.. Boston='Red Sox',
.. Minnesota='Twins',
.. Milwaukee='Brewers',
.. Seattle='Mariners'
.. ]
8 phải là một chuỗi các cặp khóa-giá trị. Một danh sách các bộ dữ liệu hoạt động tốt cho việc nàyd = dict[[
[, ],
[, >> type[MLB_team]
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
0 sau đó cũng có thể được định nghĩa theo cách này>>>
>>> MLB_team = dict[[
.. ['Colorado', 'Rockies'],
.. ['Boston', 'Red Sox'],
.. ['Minnesota', 'Twins'],
.. ['Milwaukee', 'Brewers'],
.. ['Seattle', 'Mariners']
.. ]]
Nếu các giá trị khóa là các chuỗi đơn giản, chúng có thể được chỉ định làm đối số từ khóa. Vì vậy, đây là một cách khác để định nghĩa
>>> type[MLB_team]
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
0>>>
>>> MLB_team = dict[
.. Colorado='Rockies',
.. Boston='Red Sox',
.. Minnesota='Twins',
.. Milwaukee='Brewers',
.. Seattle='Mariners'
.. ]
Khi bạn đã xác định một từ điển, bạn có thể hiển thị nội dung của nó, giống như bạn có thể làm cho một danh sách. Tất cả ba định nghĩa hiển thị ở trên xuất hiện như sau khi được hiển thị
>>>
>>> type[MLB_team]
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
Các mục trong từ điển hiển thị theo thứ tự chúng được xác định. Nhưng điều đó không liên quan khi lấy chúng. Các phần tử từ điển không được truy cập bằng chỉ mục số
>>>
>>> MLB_team[1]
Traceback [most recent call last]:
File "", line 1, in
MLB_team[1]
KeyError: 1
Có lẽ bạn vẫn muốn sắp xếp từ điển của mình. Nếu đúng như vậy, hãy xem Sắp xếp từ điển Python. Giá trị, khóa và hơn thế nữa
Loại bỏ các quảng cáoTruy cập các giá trị từ điển
Tất nhiên, các yếu tố từ điển phải được truy cập bằng cách nào đó. Nếu bạn không lấy chúng theo chỉ mục, thì làm cách nào để bạn lấy chúng?
Một giá trị được lấy từ một từ điển bằng cách chỉ định khóa tương ứng của nó trong dấu ngoặc vuông [
>>> type[MLB_team]
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
2]>>>
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
Nếu bạn đề cập đến một khóa không có trong từ điển, Python sẽ đưa ra một ngoại lệ
>>>
>>> MLB_team['Toronto']
Traceback [most recent call last]:
File "", line 1, in
MLB_team['Toronto']
KeyError: 'Toronto'
Thêm một mục vào từ điển hiện có chỉ đơn giản là gán một khóa và giá trị mới
>>>
>>> MLB_team['Kansas City'] = 'Royals'
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners', 'Kansas City': 'Royals'}
Nếu bạn muốn cập nhật một mục nhập, bạn chỉ cần gán một giá trị mới cho một khóa hiện có
>>>
>>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
0Để xóa một mục nhập, hãy sử dụng câu lệnh
>>> type[MLB_team]
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
3, chỉ định khóa cần xóa>>>
>>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
1Biến đi, Seahawks. Bạn là một đội NFL
Phím từ điển vs. Liệt kê các chỉ số
Bạn có thể nhận thấy rằng trình thông dịch đưa ra cùng một ngoại lệ,
>>> type[MLB_team]
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
4, khi từ điển được truy cập bằng khóa không xác định hoặc bằng chỉ mục số>>>
>>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
2Trên thực tế, đó là cùng một lỗi. Trong trường hợp sau,
>>> type[MLB_team]
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
5 trông giống như một chỉ số bằng số, nhưng không phảiSau này, bạn sẽ thấy trong hướng dẫn này rằng một đối tượng thuộc bất kỳ loại bất biến nào cũng có thể được sử dụng làm khóa từ điển. Theo đó, không có lý do gì bạn không thể sử dụng số nguyên
>>>
>>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
3Trong các biểu thức
>>> type[MLB_team]
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
6, >>> type[MLB_team]
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
7 và >>> type[MLB_team]
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
8, các số trong ngoặc vuông xuất hiện như thể chúng có thể là chỉ số. Nhưng chúng không liên quan gì đến thứ tự của các mục trong từ điển. Python đang diễn giải chúng dưới dạng các khóa từ điển. Nếu bạn xác định cùng một từ điển này theo thứ tự ngược lại, bạn vẫn nhận được các giá trị giống nhau khi sử dụng cùng các khóa>>>
>>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
4Cú pháp có thể giống nhau, nhưng bạn không thể coi từ điển như một danh sách
>>>
>>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
5Ghi chú. Mặc dù quyền truy cập vào các mục trong từ điển không phụ thuộc vào thứ tự, nhưng Python đảm bảo rằng thứ tự của các mục trong từ điển được giữ nguyên. Khi được hiển thị, các mục sẽ xuất hiện theo thứ tự chúng được xác định và việc lặp qua các phím cũng sẽ diễn ra theo thứ tự đó. Các mục được thêm vào từ điển được thêm vào cuối. Nếu các mục bị xóa, thứ tự của các mục còn lại sẽ được giữ lại
Bạn chỉ có thể tin tưởng vào việc duy trì trật tự này rất gần đây. đó là. Tuy nhiên, đó là sự thật kể từ phiên bản 3. 6 cũng vậy—tình cờ là kết quả của việc triển khai nhưng không được đảm bảo bởi đặc tả ngôn ngữ
Loại bỏ các quảng cáoXây dựng từ điển tăng dần
Xác định một từ điển bằng cách sử dụng dấu ngoặc nhọn và danh sách các cặp khóa-giá trị, như được hiển thị ở trên, sẽ ổn nếu bạn biết trước tất cả các khóa và giá trị. Nhưng nếu bạn muốn xây dựng một từ điển nhanh chóng thì sao?
Bạn có thể bắt đầu bằng cách tạo một từ điển trống, được chỉ định bởi dấu ngoặc nhọn trống. Sau đó, bạn có thể thêm từng khóa và giá trị mới
>>>
>>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
6Khi từ điển được tạo theo cách này, các giá trị của nó được truy cập giống như bất kỳ từ điển nào khác
>>>
>>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
7Truy xuất các giá trị trong danh sách phụ hoặc từ điển phụ yêu cầu một chỉ mục hoặc khóa bổ sung
>>>
>>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
8Ví dụ này thể hiện một tính năng khác của từ điển. các giá trị trong từ điển không cần phải cùng loại. Trong
>>> type[MLB_team]
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
9, một số giá trị là chuỗi, một là số nguyên, một là danh sách và một là từ điển khácGiống như các giá trị trong từ điển không cần phải cùng loại, các khóa cũng vậy.
>>>
>>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
9Ở đây, một trong các khóa là số nguyên, một là số float và một là Boolean. Không rõ điều này sẽ hữu ích như thế nào, nhưng bạn không bao giờ biết
Lưu ý mức độ linh hoạt của từ điển Python. Trong
>>> type[MLB_team]
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
0, cùng một thông tin [tên đội bóng chày] được lưu giữ cho từng vị trí địa lý khác nhau. Mặt khác, >>> type[MLB_team]
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
9 lưu trữ các loại dữ liệu khác nhau cho một ngườiBạn có thể sử dụng từ điển cho nhiều mục đích vì có rất ít giới hạn về khóa và giá trị được phép. Nhưng có một số. đọc tiếp
Hạn chế về khóa từ điển
Hầu hết mọi loại giá trị đều có thể được sử dụng làm khóa từ điển trong Python. Bạn vừa thấy ví dụ này, trong đó các đối tượng số nguyên, float và Boolean được sử dụng làm khóa
>>>
d = dict[[
[, ],
[, >> d = dict[[
[, ],
[, >> d = dict[[
[, ],
[, >> d = dict[[
[, ],
[, >> d = dict[[
[, ],
[, >> d = dict[[
[, ],
[, >> MLB_team[1]
Traceback [most recent call last]:
File "", line 1, in
MLB_team[1]
KeyError: 1
2 tích hợp sẵn của Python trả về giá trị băm cho một đối tượng có thể băm và đưa ra một ngoại lệ cho một đối tượng không>>>
d = dict[[
[, ],
[, >> d = dict[[
[, ],
[, >> MLB_team[1]
Traceback [most recent call last]:
File "", line 1, in
MLB_team[1]
KeyError: 1
3 và >>> MLB_team[1]
Traceback [most recent call last]:
File "", line 1, in
MLB_team[1]
KeyError: 1
4 trả về >>> MLB_team[1]
Traceback [most recent call last]:
File "", line 1, in
MLB_team[1]
KeyError: 1
5 hoặc >>> MLB_team[1]
Traceback [most recent call last]:
File "", line 1, in
MLB_team[1]
KeyError: 1
6 tùy theo toán hạng đã chỉ định có xuất hiện dưới dạng khóa trong từ điển hay không>>>
d = dict[[
[, ],
[, >> MLB_team[1]
Traceback [most recent call last]:
File "", line 1, in
MLB_team[1]
KeyError: 1
3 cùng với đánh giá ngắn mạch để tránh gây ra lỗi khi cố gắng truy cập một khóa không có trong từ điển>>>
d = dict[[
[, ],
[, >> MLB_team[1]
Traceback [most recent call last]:
File "", line 1, in
MLB_team[1]
KeyError: 1
8 không được đánh giá nên ngoại lệ >>> type[MLB_team]
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
4 không xảy raHàm
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
0 trả về số cặp khóa-giá trị trong từ điển>>>
>>> MLB_team = dict[[
.. ['Colorado', 'Rockies'],
.. ['Boston', 'Red Sox'],
.. ['Minnesota', 'Twins'],
.. ['Milwaukee', 'Brewers'],
.. ['Seattle', 'Mariners']
.. ]]
0
Phương pháp từ điển tích hợp
Như với chuỗi và danh sách, có một số phương thức tích hợp có thể được gọi trên từ điển. Trên thực tế, trong một số trường hợp, phương thức danh sách và từ điển có cùng tên. [Trong phần thảo luận về lập trình hướng đối tượng, bạn sẽ thấy rằng các kiểu khác nhau có các phương thức có cùng tên là hoàn toàn có thể chấp nhận được. ]
Sau đây là tổng quan về các phương pháp áp dụng cho từ điển
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
1
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
Xóa từ điển
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
1 làm trống từ điển >>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3 của tất cả các cặp khóa-giá trị>>>
>>> MLB_team = dict[[
.. ['Colorado', 'Rockies'],
.. ['Boston', 'Red Sox'],
.. ['Minnesota', 'Twins'],
.. ['Milwaukee', 'Brewers'],
.. ['Seattle', 'Mariners']
.. ]]
1Loại bỏ các quảng cáo>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
4
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
Trả về giá trị cho một khóa nếu nó tồn tại trong từ điển
Phương thức
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
5 của từ điển Python cung cấp một cách thuận tiện để lấy giá trị của khóa từ từ điển mà không cần kiểm tra trước xem khóa có tồn tại hay không và không gây ra lỗi>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
6 tìm kiếm từ điển >>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3 cho >>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
8 và trả về giá trị liên quan nếu tìm thấy. Nếu không tìm thấy >>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
8, nó sẽ trả về >>> MLB_team['Toronto']
Traceback [most recent call last]:
File "", line 1, in
MLB_team['Toronto']
KeyError: 'Toronto'
0>>>
>>> MLB_team = dict[[
.. ['Colorado', 'Rockies'],
.. ['Boston', 'Red Sox'],
.. ['Minnesota', 'Twins'],
.. ['Milwaukee', 'Brewers'],
.. ['Seattle', 'Mariners']
.. ]]
2Nếu không tìm thấy
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
8 và đối số tùy chọn >>> MLB_team['Toronto']
Traceback [most recent call last]:
File "", line 1, in
MLB_team['Toronto']
KeyError: 'Toronto'
2 được chỉ định, thì giá trị đó được trả về thay vì >>> MLB_team['Toronto']
Traceback [most recent call last]:
File "", line 1, in
MLB_team['Toronto']
KeyError: 'Toronto'
0>>>
>>> MLB_team = dict[[
.. ['Colorado', 'Rockies'],
.. ['Boston', 'Red Sox'],
.. ['Minnesota', 'Twins'],
.. ['Milwaukee', 'Brewers'],
.. ['Seattle', 'Mariners']
.. ]]
3>>> MLB_team['Toronto']
Traceback [most recent call last]:
File "", line 1, in
MLB_team['Toronto']
KeyError: 'Toronto'
4
>>> MLB_team['Toronto']
Traceback [most recent call last]:
File "", line 1, in
MLB_team['Toronto']
KeyError: 'Toronto'
Trả về danh sách các cặp khóa-giá trị trong từ điển
>>> MLB_team['Toronto']
Traceback [most recent call last]:
File "", line 1, in
MLB_team['Toronto']
KeyError: 'Toronto'
4 trả về một danh sách các bộ chứa các cặp khóa-giá trị trong >>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3. Mục đầu tiên trong mỗi bộ là khóa và mục thứ hai là giá trị của khóa>>>
>>> MLB_team = dict[[
.. ['Colorado', 'Rockies'],
.. ['Boston', 'Red Sox'],
.. ['Minnesota', 'Twins'],
.. ['Milwaukee', 'Brewers'],
.. ['Seattle', 'Mariners']
.. ]]
4>>> MLB_team['Toronto']
Traceback [most recent call last]:
File "", line 1, in
MLB_team['Toronto']
KeyError: 'Toronto'
7
>>> MLB_team['Toronto']
Traceback [most recent call last]:
File "", line 1, in
MLB_team['Toronto']
KeyError: 'Toronto'
Trả về danh sách các khóa trong từ điển
>>> MLB_team['Toronto']
Traceback [most recent call last]:
File "", line 1, in
MLB_team['Toronto']
KeyError: 'Toronto'
7 trả về danh sách tất cả các khóa trong >>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3>>>
>>> MLB_team = dict[[
.. ['Colorado', 'Rockies'],
.. ['Boston', 'Red Sox'],
.. ['Minnesota', 'Twins'],
.. ['Milwaukee', 'Brewers'],
.. ['Seattle', 'Mariners']
.. ]]
5>>> MLB_team['Kansas City'] = 'Royals'
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners', 'Kansas City': 'Royals'}
0
>>> MLB_team['Kansas City'] = 'Royals'
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners', 'Kansas City': 'Royals'}
Trả về danh sách các giá trị trong từ điển
>>> MLB_team['Kansas City'] = 'Royals'
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners', 'Kansas City': 'Royals'}
0 trả về một danh sách tất cả các giá trị trong >>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3>>>
>>> MLB_team = dict[[
.. ['Colorado', 'Rockies'],
.. ['Boston', 'Red Sox'],
.. ['Minnesota', 'Twins'],
.. ['Milwaukee', 'Brewers'],
.. ['Seattle', 'Mariners']
.. ]]
6Mọi giá trị trùng lặp trong
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3 sẽ được trả về nhiều lần khi chúng xảy ra>>>
>>> MLB_team = dict[[
.. ['Colorado', 'Rockies'],
.. ['Boston', 'Red Sox'],
.. ['Minnesota', 'Twins'],
.. ['Milwaukee', 'Brewers'],
.. ['Seattle', 'Mariners']
.. ]]
7Lưu ý kỹ thuật. Các phương thức
>>> MLB_team['Kansas City'] = 'Royals'
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners', 'Kansas City': 'Royals'}
4, >>> MLB_team['Kansas City'] = 'Royals'
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners', 'Kansas City': 'Royals'}
5 và >>> MLB_team['Kansas City'] = 'Royals'
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners', 'Kansas City': 'Royals'}
6 thực sự trả về một thứ được gọi là đối tượng xem. Một đối tượng xem từ điển ít nhiều giống như một cửa sổ trên các khóa và giá trị. Đối với các mục đích thực tế, bạn có thể coi các phương thức này là danh sách trả về các khóa và giá trị của từ điểnLoại bỏ các quảng cáo>>> MLB_team['Kansas City'] = 'Royals'
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners', 'Kansas City': 'Royals'}
7
>>> MLB_team['Kansas City'] = 'Royals'
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners', 'Kansas City': 'Royals'}
Xóa một khóa khỏi từ điển, nếu có và trả về giá trị của nó
Nếu
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
8 có mặt trong >>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3, thì >>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
00 loại bỏ >>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
8 và trả về giá trị liên quan của nó>>>
>>> MLB_team = dict[[
.. ['Colorado', 'Rockies'],
.. ['Boston', 'Red Sox'],
.. ['Minnesota', 'Twins'],
.. ['Milwaukee', 'Brewers'],
.. ['Seattle', 'Mariners']
.. ]]
8>>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
00 đưa ra một ngoại lệ >>> type[MLB_team]
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
4 nếu >>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
8 không có trong >>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3>>>
>>> MLB_team = dict[[
.. ['Colorado', 'Rockies'],
.. ['Boston', 'Red Sox'],
.. ['Minnesota', 'Twins'],
.. ['Milwaukee', 'Brewers'],
.. ['Seattle', 'Mariners']
.. ]]
9Nếu
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
8 không có trong >>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3 và đối số tùy chọn >>> MLB_team['Toronto']
Traceback [most recent call last]:
File "", line 1, in
MLB_team['Toronto']
KeyError: 'Toronto'
2 được chỉ định, thì giá trị đó được trả về và không có ngoại lệ nào được đưa ra>>>
>>> MLB_team = dict[
.. Colorado='Rockies',
.. Boston='Red Sox',
.. Minnesota='Twins',
.. Milwaukee='Brewers',
.. Seattle='Mariners'
.. ]
0>>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
09
>>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
Xóa cặp khóa-giá trị khỏi từ điển
>>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
09 xóa cặp khóa-giá trị cuối cùng được thêm vào từ >>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3 và trả về dưới dạng một bộ>>>
>>> MLB_team = dict[
.. Colorado='Rockies',
.. Boston='Red Sox',
.. Minnesota='Twins',
.. Milwaukee='Brewers',
.. Seattle='Mariners'
.. ]
1Nếu
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3 trống, >>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
09 sẽ tăng ngoại lệ >>> type[MLB_team]
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
4>>>
>>> MLB_team = dict[
.. Colorado='Rockies',
.. Boston='Red Sox',
.. Minnesota='Twins',
.. Milwaukee='Brewers',
.. Seattle='Mariners'
.. ]
2Ghi chú. Trong các phiên bản Python nhỏ hơn 3. 6,
>>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
15 sẽ trả về một cặp khóa-giá trị tùy ý [ngẫu nhiên] vì từ điển Python không có thứ tự trước phiên bản 3. 6>>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
16
>>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
Hợp nhất một từ điển với một từ điển khác hoặc với một cặp khóa-giá trị có thể lặp lại
Nếu
>>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
17 là một từ điển, thì >>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
16 sẽ hợp nhất các mục từ >>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
17 thành >>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3. Đối với mỗi khóa trong >>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
17- Nếu khóa không có trong
3, thì cặp khóa-giá trị từ>>> MLB_team['Minnesota'] 'Twins' >>> MLB_team['Colorado'] 'Rockies'
17 sẽ được thêm vào>>> MLB_team = { .. 'Colorado' : 'Rockies', .. 'Boston' : 'Red Sox', .. 'Minnesota': 'Twins', .. 'Milwaukee': 'Brewers', .. 'Seattle' : 'Mariners' .. }
3>>> MLB_team['Minnesota'] 'Twins' >>> MLB_team['Colorado'] 'Rockies'
- Nếu khóa đã có trong
3, thì giá trị tương ứng trong>>> MLB_team['Minnesota'] 'Twins' >>> MLB_team['Colorado'] 'Rockies'
3 cho khóa đó được cập nhật thành giá trị từ>>> MLB_team['Minnesota'] 'Twins' >>> MLB_team['Colorado'] 'Rockies'
17>>> MLB_team = { .. 'Colorado' : 'Rockies', .. 'Boston' : 'Red Sox', .. 'Minnesota': 'Twins', .. 'Milwaukee': 'Brewers', .. 'Seattle' : 'Mariners' .. }
Dưới đây là một ví dụ cho thấy hai từ điển được hợp nhất với nhau
>>>
>>> MLB_team = dict[
.. Colorado='Rockies',
.. Boston='Red Sox',
.. Minnesota='Twins',
.. Milwaukee='Brewers',
.. Seattle='Mariners'
.. ]
3Trong ví dụ này, khóa
>>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
28 đã tồn tại trong >>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
29, vì vậy giá trị của nó được cập nhật thành >>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
30, giá trị cho khóa đó từ >>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
31. Tuy nhiên, không có khóa >>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
32 trong >>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
29, vì vậy cặp khóa-giá trị đó được thêm vào từ >>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
31>>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
17 cũng có thể là một chuỗi các cặp khóa-giá trị, tương tự như khi hàm >>> MLB_team = dict[
.. Colorado='Rockies',
.. Boston='Red Sox',
.. Minnesota='Twins',
.. Milwaukee='Brewers',
.. Seattle='Mariners'
.. ]
8 được sử dụng để xác định từ điển. Ví dụ: >>> MLB_team = {
.. 'Colorado' : 'Rockies',
.. 'Boston' : 'Red Sox',
.. 'Minnesota': 'Twins',
.. 'Milwaukee': 'Brewers',
.. 'Seattle' : 'Mariners'
.. }
17 có thể được chỉ định dưới dạng danh sách các bộ dữ liệu>>>
>>> MLB_team = dict[
.. Colorado='Rockies',
.. Boston='Red Sox',
.. Minnesota='Twins',
.. Milwaukee='Brewers',
.. Seattle='Mariners'
.. ]
4Hoặc các giá trị để hợp nhất có thể được chỉ định dưới dạng danh sách các đối số từ khóa
>>>
>>> MLB_team = dict[
.. Colorado='Rockies',
.. Boston='Red Sox',
.. Minnesota='Twins',
.. Milwaukee='Brewers',
.. Seattle='Mariners'
.. ]
5Loại bỏ các quảng cáoPhần kết luận
Trong hướng dẫn này, bạn đã trình bày các thuộc tính cơ bản của từ điển Python và học cách truy cập và thao tác dữ liệu từ điển
Danh sách và từ điển là hai trong số các loại Python được sử dụng thường xuyên nhất. Như bạn đã thấy, chúng có một số điểm tương đồng, nhưng khác nhau về cách các phần tử của chúng được truy cập. Các phần tử danh sách được truy cập theo chỉ mục số dựa trên thứ tự và các phần tử từ điển được truy cập bằng khóa
Do sự khác biệt này, danh sách và từ điển có xu hướng phù hợp với các trường hợp khác nhau. Bây giờ bạn sẽ có một cảm giác tốt, nếu một trong hai, sẽ là tốt nhất cho một tình huống nhất định
Tiếp theo bạn sẽ tìm hiểu về bộ Python. Tập hợp là một kiểu dữ liệu hỗn hợp khác, nhưng nó hoàn toàn khác với danh sách hoặc từ điển
Lấy bài kiểm tra. Kiểm tra kiến thức của bạn với bài kiểm tra tương tác “Từ điển Python” của chúng tôi. Sau khi hoàn thành, bạn sẽ nhận được điểm số để có thể theo dõi quá trình học tập của mình theo thời gian
Lấy bài kiểm tra "
« Danh sách và bộ dữ liệu trong Python
Bộ trong Python »
Đánh dấu là đã hoàn thành
Xem ngay Hướng dẫn này có một khóa học video liên quan do nhóm Real Python tạo. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn. Từ điển trong Python
🐍 Thủ thuật Python 💌
Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python
Gửi cho tôi thủ thuật Python »
Giới thiệu về John Sturtz
John là một Pythonista cuồng nhiệt và là thành viên của nhóm hướng dẫn Real Python
» Thông tin thêm về JohnMỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là
Aldren
Joanna
Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực
Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonista chuyên gia
Nâng cao kỹ năng Python của bạn »
Chuyên gia Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực
Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia
Nâng cao kỹ năng Python của bạn »
Bạn nghĩ sao?
Đánh giá bài viết này
Tweet Chia sẻ Chia sẻ EmailBài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?
Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi