Hàm Dict() trong Python

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'
.. }

Vị trí ánh xạ từ điển tới Nhóm MLB

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 được tích hợp sẵn. Đố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ày

d = 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 = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
2

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áo

Truy 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 = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
4

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 = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
5

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 = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
6

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'
.. }
1

Biế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'
.. }
2

Trê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ỉ mục số, nhưng không phải

Sau 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'
.. }
3

Trong 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à các 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'
.. }
4

Cú 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'
.. }
5

Ghi 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. Nó đã được thêm vào như một phần của đặc tả ngôn ngữ Python trong phiên bản 3. 7. 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áo

Xâ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'
.. }
6

Khi 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'
.. }
7

Truy 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'
.. }
8

Ví 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ác

Giố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ười

Bạ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 = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
22 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 = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
23 và
>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
24 trả về
>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
25 hoặc
>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
26 tùy theo việc toán hạng được chỉ định có xuất hiện dưới dạng khóa trong từ điển hay không

>>>

d = dict[[
    [, ],
    [, >> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
23 cùng với đánh giá ngắn mạch để tránh gây ra lỗi khi cố gắng truy cập khóa không có trong từ điển

>>>

d = dict[[
    [, ],
    [, >> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
28 không được đánh giá nên không xảy ra ngoại lệ
>>> type[MLB_team]


>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
4

Hàm

>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
40 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 = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
41

Xóa từ điển

>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
41 làm trống từ điển
>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
43 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']
.. ]]
1

Loại bỏ các quảng cáo

>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
44

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 = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
45 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 = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
46 tìm kiếm từ điển
>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
43 cho
>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
48 và trả về giá trị liên quan nếu tìm thấy. Nếu không tìm thấy
>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
48, nó trả về
>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
50

>>>

>>> MLB_team = dict[[
..     ['Colorado', 'Rockies'],
..     ['Boston', 'Red Sox'],
..     ['Minnesota', 'Twins'],
..     ['Milwaukee', 'Brewers'],
..     ['Seattle', 'Mariners']
.. ]]
2

Nếu không tìm thấy

>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
48 và đối số tùy chọn
>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
52 được chỉ định, thì giá trị đó được trả về thay vì
>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
50

>>>

>>> MLB_team = dict[[
..     ['Colorado', 'Rockies'],
..     ['Boston', 'Red Sox'],
..     ['Minnesota', 'Twins'],
..     ['Milwaukee', 'Brewers'],
..     ['Seattle', 'Mariners']
.. ]]
3

>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
54

Trả về danh sách các cặp khóa-giá trị trong từ điển

>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
54 trả về một danh sách các bộ chứa các cặp khóa-giá trị trong
>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
43. 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 = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
57

Trả về danh sách các khóa trong từ điển

>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
57 trả về danh sách tất cả các khóa trong
>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
43

>>>

>>> MLB_team = dict[[
..     ['Colorado', 'Rockies'],
..     ['Boston', 'Red Sox'],
..     ['Minnesota', 'Twins'],
..     ['Milwaukee', 'Brewers'],
..     ['Seattle', 'Mariners']
.. ]]
5

>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
60

Trả về danh sách các giá trị trong từ điển

>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
60 trả về danh sách tất cả các giá trị trong
>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
43

>>>

>>> MLB_team = dict[[
..     ['Colorado', 'Rockies'],
..     ['Boston', 'Red Sox'],
..     ['Minnesota', 'Twins'],
..     ['Milwaukee', 'Brewers'],
..     ['Seattle', 'Mariners']
.. ]]
6

Mọi giá trị trùng lặp trong

>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
43 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']
.. ]]
7

Lưu ý kỹ thuật. Các phương thức

>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
64,
>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
65 và
>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
66 thực sự trả về một thứ 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ển

Loại bỏ các quảng cáo

>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
67

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 = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
48 có mặt trong
>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
43, thì
>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
00 sẽ xóa
>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
48 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 tăng ngoại lệ
>>> type[MLB_team]


>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
4 nếu
>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
48 không có trong
>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
43

>>>

>>> MLB_team = dict[[
..     ['Colorado', 'Rockies'],
..     ['Boston', 'Red Sox'],
..     ['Minnesota', 'Twins'],
..     ['Milwaukee', 'Brewers'],
..     ['Seattle', 'Mariners']
.. ]]
9

Nếu

>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
48 không có trong
>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
43 và đối số tùy chọn
>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
52 đượ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

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 = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
43 và trả về dưới dạng một bộ

>>>

>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
1

Nếu

>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
43 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'
.. ]
2

Ghi 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

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 vào
>>> MLB_team = dict[
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. ]
43. Đố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
    >>> MLB_team = dict[
    ..     Colorado='Rockies',
    ..     Boston='Red Sox',
    ..     Minnesota='Twins',
    ..     Milwaukee='Brewers',
    ..     Seattle='Mariners'
    .. ]
    
    43, cặp khóa-giá trị từ
    >>> MLB_team = {
    ..     'Colorado' : 'Rockies',
    ..     'Boston'   : 'Red Sox',
    ..     'Minnesota': 'Twins',
    ..     'Milwaukee': 'Brewers',
    ..     'Seattle'  : 'Mariners'
    .. }
    
    17 sẽ được thêm vào
    >>> MLB_team = dict[
    ..     Colorado='Rockies',
    ..     Boston='Red Sox',
    ..     Minnesota='Twins',
    ..     Milwaukee='Brewers',
    ..     Seattle='Mariners'
    .. ]
    
    43
  • Nếu khóa đã có trong
    >>> MLB_team = dict[
    ..     Colorado='Rockies',
    ..     Boston='Red Sox',
    ..     Minnesota='Twins',
    ..     Milwaukee='Brewers',
    ..     Seattle='Mariners'
    .. ]
    
    43, thì giá trị tương ứng trong
    >>> MLB_team = dict[
    ..     Colorado='Rockies',
    ..     Boston='Red Sox',
    ..     Minnesota='Twins',
    ..     Milwaukee='Brewers',
    ..     Seattle='Mariners'
    .. ]
    
    43 cho khóa đó được cập nhật thành giá trị từ
    >>> MLB_team = {
    ..     'Colorado' : 'Rockies',
    ..     'Boston'   : 'Red Sox',
    ..     'Minnesota': 'Twins',
    ..     'Milwaukee': 'Brewers',
    ..     'Seattle'  : 'Mariners'
    .. }
    
    17

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'
.. ]
3

Trong 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'
.. ]
4

Hoặ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'
.. ]
5

Loại bỏ các quảng cáo

Phầ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

Từ điển 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ề John

Mỗ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 Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

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 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ẻ Email

Bà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. Nhận các mẹo để đặt câu hỏi hay 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

dict[] có giống như {} không?

Như chúng ta có thể thấy, dict[] rõ ràng là chậm hơn {} . Đặc biệt nếu dictionary được khởi tạo nhiều phần tử thì ảnh hưởng rất lớn nếu code của bạn cần 0. 04ms hoặc gần như 0. 08ms để tạo từ điển của bạn. Ngay cả khi bạn khởi tạo một từ điển trống, nó vẫn chậm hơn.

Tại sao lại sử dụng dict[] thay vì {}?

dict "dễ đọc " hơn {} và ý nghĩa rõ ràng hơn. đặc biệt là với những người sử dụng nhiều ngôn ngữ và khó nhớ đó là dấu ngoặc nhọn, dấu ngoặc nhọn, dấu ngoặc nhọn.

dict[] có phải là một phương thức không?

Phương thức dict[] tạo một đối tượng từ điển từ các khóa và giá trị đã chỉ định hoặc các lần lặp của khóa và giá trị hoặc đối tượng ánh xạ.

dict[] có phải là hàm tích hợp không?

Hàm dict[] trong Python là một hàm tích hợp sẵn trả về một đối tượng từ điển hoặc đơn giản là tạo một từ điển trong Python. Từ điển là tập hợp các cặp khóa-giá trị có thể thay đổi và không có thứ tự trong đó các khóa phải là duy nhất và có thể băm.

Chủ Đề