Hướng dẫn python dictionary advanced - từ điển python nâng cao

Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: Bài viết từ điển Python: Lời khuyên & thủ thuật nâng cao This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Python Dictionary Iteration: Advanced Tips & Tricks

Show

Nội phân Chính showShow

  • Một vài từ về từ điển
  • Cách lặp lại thông qua một từ điển trong Python: những điều cơ bản
  • Lặp lại qua các phím trực tiếp
  • Lặp qua .Items ()
  • Lặp qua .Keys ()
  • Lặp qua .values ​​()
  • Sửa đổi các giá trị và khóa
  • Ví dụ trong thế giới thực
  • Biến các phím thành các giá trị và ngược lại
  • Lọc các mục
  • Làm một số tính toán
  • Sử dụng sự hiểu biết
  • Biến các phím thành các giá trị và ngược lại: Xem lại
  • Lọc các mục: Xem lại
  • Thực hiện một số tính toán: Xem lại
  • Loại bỏ các mặt hàng cụ thể
  • Sắp xếp một từ điển
  • Lặp lại theo thứ tự sắp xếp
  • Được sắp xếp theo chìa khóa
  • Được sắp xếp theo các giá trị
  • Lặp lại một cách phá hủy với .popitem ()
  • Sử dụng một số chức năng tích hợp của Python,
  • Sử dụng bộ sưu tập.ChainMap
  • Sử dụng itertools
  • Lặp đi lặp theo chu kỳ với chu kỳ ()
  • Xếp vòng lặp với chuỗi ()
  • Sử dụng toán tử giải nén từ điển (**)

Từ điển là một trong những cấu trúc dữ liệu quan trọng và hữu ích nhất trong Python. Họ có thể giúp bạn giải quyết nhiều vấn đề lập trình. Hướng dẫn này sẽ đưa bạn đi sâu vào cách lặp đi lặp lại thông qua một từ điển ở Python.

Đến cuối hướng dẫn này, bạn sẽ biết:

  • Từ điển là gì, cũng như một số tính năng chính và chi tiết triển khai của họ
  • Cách lặp lại thông qua một từ điển trong Python bằng cách sử dụng các công cụ cơ bản mà ngôn ngữ cung cấp
  • Loại nhiệm vụ trong thế giới thực nào bạn có thể thực hiện bằng cách lặp qua từ điển trong Python
  • Cách sử dụng một số kỹ thuật và chiến lược nâng cao hơn để lặp lại thông qua từ điển trong Python

Để biết thêm thông tin về từ điển, bạn có thể kiểm tra các tài nguyên sau:

  • Từ điển trong Python
  • Itertools trong Python 3, ví dụ
  • Tài liệu cho
    >>> # Python 3.6 and beyond
    >>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
    >>> a_dict
    {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
    >>> a_dict
    {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
    
    7 và
    >>> # Python 3.6 and beyond
    >>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
    >>> a_dict
    {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
    >>> a_dict
    {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
    
    8

Sẳn sàng? Đi nào!

Một vài từ về từ điển

Từ điển là một nền tảng của Python. Ngôn ngữ được xây dựng xung quanh từ điển. Các mô -đun, lớp, đối tượng,

>>> # Python 3.6 and beyond
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
9,
>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
0: Tất cả đều là từ điển. Từ điển đã là trung tâm của Python ngay từ đầu.

Tài liệu chính thức của Python, định nghĩa một từ điển như sau:

Một mảng kết hợp, trong đó các khóa tùy ý được ánh xạ tới các giá trị. Các khóa có thể là bất kỳ đối tượng nào có phương thức

>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
1 và
>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
2. (Nguồn)

Có một vài điểm cần ghi nhớ:

  1. Từ điển bản đồ các phím cho các giá trị và lưu trữ chúng trong một mảng hoặc bộ sưu tập.
  2. Các khóa phải thuộc loại băm, điều đó có nghĩa là chúng phải có giá trị băm không bao giờ thay đổi trong suốt vòng đời khóa.

Từ điển thường được sử dụng để giải quyết tất cả các loại vấn đề lập trình, vì vậy chúng là một phần cơ bản của bộ công cụ của bạn với tư cách là một nhà phát triển Python.

Không giống như các chuỗi, là các vòng lặp hỗ trợ truy cập phần tử bằng cách sử dụng các chỉ số số nguyên, từ điển được lập chỉ mục bởi các khóa.sequences, which are iterables that support element access using integer indices, dictionaries are indexed by keys.

Các phím trong từ điển giống như

>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
3, đây là một tập hợp các đối tượng có thể băm và độc đáo. Bởi vì các đối tượng cần phải được băm, các đối tượng có thể thay đổi có thể được sử dụng làm khóa từ điển.

Mặt khác, các giá trị có thể thuộc bất kỳ loại Python nào, cho dù chúng có thể băm hay không. Có nghĩa đen không có hạn chế cho các giá trị.

Trong Python 3.6 và hơn thế nữa, các khóa và giá trị của từ điển được lặp lại theo cùng một thứ tự mà chúng được tạo ra. Tuy nhiên, hành vi này có thể thay đổi trên các phiên bản Python khác nhau và nó phụ thuộc vào lịch sử từ điển của các phần chèn và xóa.

Trong Python 2.7, từ điển là các cấu trúc không có thứ tự. Thứ tự của các mặt hàng từ điển được tranh giành. Điều này có nghĩa là thứ tự của các mục là xác định và lặp lại. Hãy để xem một ví dụ:scrambled. This means that the order of the items is deterministic and repeatable. Let’s see an example:

>>>

>>> # Python 2.7
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}

Nếu bạn rời khỏi thông dịch viên và mở một phiên tương tác mới sau đó, bạn sẽ nhận được cùng một đơn đặt hàng:

>>>

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}

Nếu bạn rời khỏi thông dịch viên và mở một phiên tương tác mới sau đó, bạn sẽ nhận được cùng một đơn đặt hàng:

Nhìn kỹ hơn vào hai đầu ra này cho bạn thấy rằng thứ tự kết quả hoàn toàn giống nhau trong cả hai trường hợp. Đó là lý do tại sao bạn có thể nói rằng việc đặt hàng là xác định.randomized data structures. This means that every time you re-run the dictionary, you’ll get a different items order. Let’s take a look:

>>>

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}

Nếu bạn rời khỏi thông dịch viên và mở một phiên tương tác mới sau đó, bạn sẽ nhận được cùng một đơn đặt hàng:

>>>

>>> # Python 3.5. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}

Nếu bạn rời khỏi thông dịch viên và mở một phiên tương tác mới sau đó, bạn sẽ nhận được cùng một đơn đặt hàng:

Nhìn kỹ hơn vào hai đầu ra này cho bạn thấy rằng thứ tự kết quả hoàn toàn giống nhau trong cả hai trường hợp. Đó là lý do tại sao bạn có thể nói rằng việc đặt hàng là xác định.ordered data structures, which means that they keep their elements in the same order in which they were introduced, as you can see here:

>>>

>>> # Python 3.6 and beyond
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}

Đây là một tính năng tương đối mới của từ điển Python, và nó là một tính năng rất hữu ích. Nhưng nếu bạn viết mã được cho là được chạy trong các phiên bản Python khác nhau, thì bạn không được dựa vào tính năng này, bởi vì nó có thể tạo ra các hành vi lỗi.

Một tính năng quan trọng khác của từ điển là chúng là các cấu trúc dữ liệu có thể thay đổi, điều đó có nghĩa là bạn có thể thêm, xóa và cập nhật các mục của chúng. Điều đáng chú ý là điều này cũng có nghĩa là chúng có thể được sử dụng làm chìa khóa cho các từ điển khác, vì chúng không phải là đối tượng có thể băm.

Cách lặp lại thông qua một từ điển trong Python: những điều cơ bản

Từ điển là một cấu trúc dữ liệu hữu ích và được sử dụng rộng rãi trong Python. Là một lập trình viên Python, bạn sẽ thường xuyên ở trong tình huống mà bạn sẽ cần lặp lại thông qua một từ điển trong Python, trong khi bạn thực hiện một số hành động trên các cặp giá trị khóa của nó.

Khi nói đến việc lặp lại thông qua một từ điển trong Python, ngôn ngữ cung cấp cho bạn một số công cụ tuyệt vời mà chúng tôi sẽ đề cập trong bài viết này.

Lặp lại qua các phím trực tiếp

Từ điển Python sườn là các đối tượng lập bản đồ. Điều này có nghĩa là họ thừa hưởng một số phương pháp đặc biệt, mà Python sử dụng nội bộ để thực hiện một số hoạt động. Các phương thức này được đặt tên bằng cách sử dụng quy ước đặt tên là thêm một dấu gạch dưới kép vào đầu và ở cuối tên phương thức.special methods, which Python uses internally to perform some operations. These methods are named using the naming convention of adding a double underscore at the beginning of and at the end of the method’s name.

Để trực quan hóa các phương thức và thuộc tính của bất kỳ đối tượng Python nào, bạn có thể sử dụng

>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
4, đây là hàm tích hợp phục vụ mục đích đó. Nếu bạn chạy
>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
4 với một từ điển trống làm đối số, thì bạn sẽ có thể xem tất cả các phương thức và thuộc tính mà từ điển thực hiện:

>>>

>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]

Nếu bạn xem xét kỹ hơn về đầu ra trước đó, bạn sẽ thấy

>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
6. Đây là một phương pháp được gọi là khi cần lặp lại cho một thùng chứa và nó sẽ trả về một đối tượng lặp mới có thể lặp qua tất cả các đối tượng trong container.

Đối với ánh xạ (như từ điển),

>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
7 nên lặp lại các khóa. Điều này có nghĩa là nếu bạn đặt một từ điển trực tiếp vào vòng lặp
>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
8, Python sẽ tự động gọi
>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
7 trên từ điển đó và bạn sẽ nhận được một trình lặp qua các khóa của nó:

>>>

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet

Python đủ thông minh để biết rằng

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0 là một từ điển và nó thực hiện
>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
7. Trong ví dụ này, Python gọi
>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
7 tự động và điều này cho phép bạn lặp lại các khóa của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0.

Đây là cách đơn giản nhất để lặp lại thông qua một từ điển trong Python. Chỉ cần đặt nó trực tiếp vào một vòng

>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
8, và bạn đã hoàn thành!

Nếu bạn sử dụng phương pháp này cùng với một thủ thuật nhỏ, thì bạn có thể xử lý các khóa và giá trị của bất kỳ từ điển nào. Bí quyết bao gồm sử dụng toán tử lập chỉ mục

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
5 với từ điển và các khóa của nó để có quyền truy cập vào các giá trị:

>>>

>>> for key in a_dict:
...     print(key, '->', a_dict[key])
...
color -> blue
fruit -> apple
pet -> dog

Mã trước cho phép bạn có quyền truy cập vào các khóa (

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
6) và các giá trị (
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
7) của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0 cùng một lúc. Bằng cách này, bạn có thể thực hiện bất kỳ hoạt động nào với cả khóa và giá trị.

Lặp qua .Items ()

Khi bạn làm việc với từ điển, có khả năng bạn sẽ muốn làm việc với cả khóa và giá trị. Một trong những cách hữu ích nhất để lặp lại thông qua từ điển trong Python là bằng cách sử dụng

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
9, đây là phương pháp trả về một cái nhìn mới về các mục từ điển:

>>>

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> d_items = a_dict.items()
>>> d_items  # Here d_items is a view of items
dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')])

Các chế độ xem từ điển như

>>> for key in a_dict:
...     print(key, '->', a_dict[key])
...
color -> blue
fruit -> apple
pet -> dog
0 cung cấp một chế độ xem động trên các mục từ điển, điều đó có nghĩa là khi từ điển thay đổi, các chế độ xem phản ánh những thay đổi này.

Các chế độ xem có thể được lặp lại để mang lại dữ liệu tương ứng của chúng, vì vậy bạn có thể lặp lại thông qua một từ điển trong Python bằng cách sử dụng đối tượng xem được trả về bởi

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
9:

>>>

>>> for item in a_dict.items():
...     print(item)
...
('color', 'blue')
('fruit', 'apple')
('pet', 'dog')

Đối tượng xem được trả về bởi

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
9 mang lại các cặp khóa-giá trị mỗi lần và cho phép bạn lặp lại thông qua từ điển trong Python, nhưng theo cách mà bạn có thể truy cập vào các phím và giá trị cùng một lúc.

Nếu bạn xem xét kỹ hơn các mục riêng lẻ được mang lại bởi

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
9, bạn sẽ nhận thấy rằng chúng thực sự là đối tượng
>>> for key in a_dict:
...     print(key, '->', a_dict[key])
...
color -> blue
fruit -> apple
pet -> dog
4. Hãy để một cái nhìn:

>>>

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
0

Khi bạn biết điều này, bạn có thể sử dụng

>>> for key in a_dict:
...     print(key, '->', a_dict[key])
...
color -> blue
fruit -> apple
pet -> dog
4 Giải nén để lặp lại thông qua các khóa và giá trị của từ điển bạn đang làm việc. Để đạt được điều này, bạn chỉ cần giải nén các yếu tố của mọi mục thành hai biến khác nhau đại diện cho khóa và giá trị:

>>>

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
1

Ở đây, các biến

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
6 và
>>> for key in a_dict:
...     print(key, '->', a_dict[key])
...
color -> blue
fruit -> apple
pet -> dog
7 trong tiêu đề của vòng lặp
>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
8 của bạn thực hiện giải nén. Mỗi khi vòng lặp chạy,
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
6 sẽ lưu trữ khóa và
>>> for key in a_dict:
...     print(key, '->', a_dict[key])
...
color -> blue
fruit -> apple
pet -> dog
7 sẽ lưu trữ giá trị của mặt hàng được xử lý. Bằng cách này, bạn sẽ có nhiều quyền kiểm soát hơn đối với các mục của từ điển và bạn sẽ có thể xử lý các khóa và giá trị riêng biệt và theo cách dễ đọc và pythonic hơn.

Lặp qua .Keys ()

Nếu bạn chỉ cần làm việc với các khóa của từ điển, thì bạn có thể sử dụng

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> d_items = a_dict.items()
>>> d_items  # Here d_items is a view of items
dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')])
1, đây là phương thức trả về một đối tượng Chế độ xem mới chứa các phím từ điển:

>>>

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
2

Đối tượng được trả về bởi

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> d_items = a_dict.items()
>>> d_items  # Here d_items is a view of items
dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')])
1 ở đây đã cung cấp một chế độ xem động về các khóa của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0. Quan điểm này có thể được sử dụng để lặp lại thông qua các khóa của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0.

Để lặp lại thông qua một từ điển trong Python bằng cách sử dụng

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> d_items = a_dict.items()
>>> d_items  # Here d_items is a view of items
dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')])
1, bạn chỉ cần gọi
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> d_items = a_dict.items()
>>> d_items  # Here d_items is a view of items
dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')])
1 trong tiêu đề của vòng lặp
>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
8:

>>>

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
3

Đối tượng được trả về bởi

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> d_items = a_dict.items()
>>> d_items  # Here d_items is a view of items
dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')])
1 ở đây đã cung cấp một chế độ xem động về các khóa của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0. Quan điểm này có thể được sử dụng để lặp lại thông qua các khóa của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0.

Để lặp lại thông qua một từ điển trong Python bằng cách sử dụng

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> d_items = a_dict.items()
>>> d_items  # Here d_items is a view of items
dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')])
1, bạn chỉ cần gọi
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> d_items = a_dict.items()
>>> d_items  # Here d_items is a view of items
dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')])
1 trong tiêu đề của vòng lặp
>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
8:

>>>

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
4

Đối tượng được trả về bởi

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> d_items = a_dict.items()
>>> d_items  # Here d_items is a view of items
dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')])
1 ở đây đã cung cấp một chế độ xem động về các khóa của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0. Quan điểm này có thể được sử dụng để lặp lại thông qua các khóa của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0.

Để lặp lại thông qua một từ điển trong Python bằng cách sử dụng >>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'} >>> d_items = a_dict.items() >>> d_items # Here d_items is a view of items dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')]) 1, bạn chỉ cần gọi >>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'} >>> d_items = a_dict.items() >>> d_items # Here d_items is a view of items dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')]) 1 trong tiêu đề của vòng lặp >>> dir({}) ['__class__', '__contains__', '__delattr__', ... , '__iter__', ...] 8:

Khi bạn gọi

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> d_items = a_dict.items()
>>> d_items  # Here d_items is a view of items
dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')])
1 trên
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0, bạn sẽ có một cái nhìn về các phím. Python biết rằng các đối tượng xem là lặp đi lặp lại, vì vậy nó bắt đầu lặp và bạn có thể xử lý các khóa của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0.

>>>

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
5

Đối tượng được trả về bởi

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> d_items = a_dict.items()
>>> d_items  # Here d_items is a view of items
dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')])
1 ở đây đã cung cấp một chế độ xem động về các khóa của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0. Quan điểm này có thể được sử dụng để lặp lại thông qua các khóa của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0.

Để lặp lại thông qua một từ điển trong Python bằng cách sử dụng

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> d_items = a_dict.items()
>>> d_items  # Here d_items is a view of items
dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')])
1, bạn chỉ cần gọi
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> d_items = a_dict.items()
>>> d_items  # Here d_items is a view of items
dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')])
1 trong tiêu đề của vòng lặp
>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
8:

>>>

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
6

Đối tượng được trả về bởi

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> d_items = a_dict.items()
>>> d_items  # Here d_items is a view of items
dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')])
1 ở đây đã cung cấp một chế độ xem động về các khóa của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0. Quan điểm này có thể được sử dụng để lặp lại thông qua các khóa của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0.

Để lặp lại thông qua một từ điển trong Python bằng cách sử dụng

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> d_items = a_dict.items()
>>> d_items  # Here d_items is a view of items
dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')])
1, bạn chỉ cần gọi
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> d_items = a_dict.items()
>>> d_items  # Here d_items is a view of items
dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')])
1 trong tiêu đề của vòng lặp
>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
8:

>>>

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
7

Đối tượng được trả về bởi

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> d_items = a_dict.items()
>>> d_items  # Here d_items is a view of items
dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')])
1 ở đây đã cung cấp một chế độ xem động về các khóa của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0. Quan điểm này có thể được sử dụng để lặp lại thông qua các khóa của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0.

Để lặp lại thông qua một từ điển trong Python bằng cách sử dụng >>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'} >>> d_items = a_dict.items() >>> d_items # Here d_items is a view of items dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')]) 1, bạn chỉ cần gọi >>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'} >>> d_items = a_dict.items() >>> d_items # Here d_items is a view of items dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')]) 1 trong tiêu đề của vòng lặp >>> dir({}) ['__class__', '__contains__', '__delattr__', ... , '__iter__', ...] 8:

Khi bạn gọi

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> d_items = a_dict.items()
>>> d_items  # Here d_items is a view of items
dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')])
1 trên
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0, bạn sẽ có một cái nhìn về các phím. Python biết rằng các đối tượng xem là lặp đi lặp lại, vì vậy nó bắt đầu lặp và bạn có thể xử lý các khóa của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0.

Mặt khác, sử dụng cùng một thủ thuật mà bạn đã thấy trước đây (toán tử lập chỉ mục

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
5), bạn có thể có quyền truy cập vào các giá trị của từ điển:

>>>

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
8

Bằng cách này, bạn đã nhận được quyền truy cập vào các khóa (

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
6) và các giá trị (
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
7) của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0 cùng một lúc và bạn sẽ có thể thực hiện bất kỳ hành động nào đối với chúng.

Lặp qua .values ​​()

Nó cũng phổ biến chỉ sử dụng các giá trị để lặp lại thông qua từ điển trong Python. Một cách để làm điều đó là sử dụng

>>> for item in a_dict.items():
...     print(item)
...
('color', 'blue')
('fruit', 'apple')
('pet', 'dog')
5, trả về chế độ xem với các giá trị của từ điển:

Trong mã trước,

>>> for item in a_dict.items():
...     print(item)
...
('color', 'blue')
('fruit', 'apple')
('pet', 'dog')
6 giữ một tham chiếu đến đối tượng xem chứa các giá trị của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0.

>>>

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
9

Như bất kỳ đối tượng xem nào, đối tượng được trả về bởi

>>> for item in a_dict.items():
...     print(item)
...
('color', 'blue')
('fruit', 'apple')
('pet', 'dog')
5 cũng có thể được lặp lại. Trong trường hợp này,
>>> for item in a_dict.items():
...     print(item)
...
('color', 'blue')
('fruit', 'apple')
('pet', 'dog')
5 mang lại các giá trị của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0:

Sử dụng

>>> for item in a_dict.items():
...     print(item)
...
('color', 'blue')
('fruit', 'apple')
('pet', 'dog')
5, bạn sẽ chỉ nhận được quyền truy cập vào các giá trị của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0, mà không xử lý các khóa.

>>>

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
0

Điều đáng chú ý là họ cũng hỗ trợ các bài kiểm tra thành viên (

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
03), đây là một tính năng quan trọng nếu bạn đang cố gắng biết liệu một yếu tố cụ thể có nằm trong từ điển hay không:

Thử nghiệm thành viên sử dụng >>> # Python 2.7. New interactive session >>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'} >>> a_dict {'color': 'blue', 'pet': 'dog', 'fruit': 'apple'} >>> a_dict {'color': 'blue', 'pet': 'dog', 'fruit': 'apple'} 03 trả về >>> # Python 2.7. New interactive session >>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'} >>> a_dict {'color': 'blue', 'pet': 'dog', 'fruit': 'apple'} >>> a_dict {'color': 'blue', 'pet': 'dog', 'fruit': 'apple'} 05 nếu khóa (hoặc giá trị hoặc mục) có mặt trong từ điển mà bạn đang kiểm tra và trả về >>> # Python 2.7. New interactive session >>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'} >>> a_dict {'color': 'blue', 'pet': 'dog', 'fruit': 'apple'} >>> a_dict {'color': 'blue', 'pet': 'dog', 'fruit': 'apple'} 06 nếu không. Bài kiểm tra thành viên cho phép bạn không lặp lại thông qua từ điển trong Python nếu bạn chỉ muốn biết liệu một số khóa (hoặc giá trị hoặc mục) nhất định có xuất hiện trong từ điển hay không.

Sửa đổi các giá trị và khóa

Nó có thể khá phổ biến để cần sửa đổi các giá trị và khóa khi bạn lặp đi lặp lại thông qua một từ điển trong Python. Có một số điểm bạn sẽ cần phải tính đến để hoàn thành nhiệm vụ này.

Ví dụ, các giá trị có thể được sửa đổi bất cứ khi nào bạn cần, nhưng bạn sẽ cần sử dụng từ điển gốc và khóa ánh xạ giá trị bạn muốn sửa đổi:

>>>

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
1

Biểu thức

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
25 đã làm tất cả công việc cho bạn bằng cách biến các khóa thành các giá trị và sử dụng các giá trị làm khóa. Để mã này hoạt động, dữ liệu được lưu trữ trong các giá trị ban đầu phải thuộc loại dữ liệu có thể băm.

Lọc các mục

Đôi khi, bạn sẽ ở trong các tình huống mà bạn có một từ điển và bạn muốn tạo một từ mới để chỉ lưu trữ dữ liệu thỏa mãn một điều kiện nhất định. Bạn có thể làm điều này với câu lệnh

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
26 bên trong vòng lặp
>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
8 như sau:

>>>

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
2

Trong ví dụ này, bạn đã lọc ra các mục có giá trị lớn hơn

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
28. Bây giờ
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
29 chỉ chứa các mục đáp ứng điều kiện
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
30. Đây là một giải pháp khả thi cho loại vấn đề này. Sau đó, bạn sẽ thấy một cách pythonic và dễ đọc hơn để có được kết quả tương tự.

Làm một số tính toán

Nó cũng phổ biến cần phải thực hiện một số tính toán trong khi bạn lặp lại thông qua một từ điển trong Python. Giả sử bạn đã lưu trữ dữ liệu cho doanh số của công ty bạn trong một từ điển và bây giờ bạn muốn biết tổng thu nhập của năm.

Để giải quyết vấn đề này, bạn có thể xác định một biến có giá trị ban đầu là 0. Sau đó, bạn có thể tích lũy mọi giá trị của từ điển trong biến đó:

>>>

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
3

Ở đây, bạn đã lặp lại thông qua

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
31 và tích lũy tuần tự các giá trị của nó trong
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
32 như bạn muốn làm. Biểu thức
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
33 thực hiện phép thuật và ở cuối vòng lặp, bạn sẽ nhận được tổng thu nhập của năm. Lưu ý rằng
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
33 tương đương với
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
35.

Sử dụng sự hiểu biết

Sự hiểu biết từ điển là một cách nhỏ gọn để xử lý tất cả hoặc một phần của các yếu tố trong một bộ sưu tập và trả về một từ điển làm kết quả. Trái ngược với các toàn bộ danh sách, họ cần hai biểu thức được phân tách bằng một dấu hai chấm sau đó là các điều khoản

>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
8 và
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
26 (tùy chọn). Khi một sự hiểu biết từ điển được chạy, các cặp giá trị khóa kết quả được chèn vào một từ điển mới theo cùng một thứ tự mà chúng được sản xuất.dictionary comprehension is a compact way to process all or part of the elements in a collection and return a dictionary as a results. In contrast to list comprehensions, they need two expressions separated with a colon followed by
>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
8 and
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
26 (optional) clauses. When a dictionary comprehension is run, the resulting key-value pairs are inserted into a new dictionary in the same order in which they were produced.

Giả sử, ví dụ, bạn có hai danh sách dữ liệu và bạn cần tạo một từ điển mới từ họ. Trong trường hợp này, bạn có thể sử dụng Python từ

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
38 để lặp qua các yếu tố của cả hai danh sách trong các cặp:

>>>

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
4

Ở đây,

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
39 nhận được hai lần lặp (
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
40 và
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
41) làm đối số và tạo ra một trình lặp lại tập hợp các phần tử từ mỗi phần mềm. Các đối tượng
>>> for key in a_dict:
...     print(key, '->', a_dict[key])
...
color -> blue
fruit -> apple
pet -> dog
4 được tạo bởi
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
39 sau đó được giải nén vào
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
6 và
>>> for key in a_dict:
...     print(key, '->', a_dict[key])
...
color -> blue
fruit -> apple
pet -> dog
7, cuối cùng được sử dụng để tạo từ điển mới.

Sự hiểu biết từ điển mở ra một loạt các khả năng mới và cung cấp cho bạn một công cụ tuyệt vời để lặp lại thông qua một từ điển trong Python.

Biến các phím thành các giá trị và ngược lại: Xem lại

Nếu bạn có cái nhìn khác về vấn đề biến các khóa thành các giá trị và ngược lại, bạn sẽ thấy rằng bạn có thể viết một giải pháp hiệu quả và hiệu quả hơn bằng cách sử dụng khả năng hiểu từ điển:

>>>

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
5

Với sự hiểu biết từ điển này, bạn đã tạo ra một từ điển hoàn toàn mới trong đó các khóa đã thay thế các giá trị và ngược lại. Cách tiếp cận mới này đã cho bạn khả năng viết mã dễ đọc, cô đọng, hiệu quả và pythonic dễ đọc hơn.

Điều kiện để mã này hoạt động là cùng một loại bạn đã thấy trước đây: các giá trị phải là các đối tượng có thể băm. Nếu không, bạn đã thắng được có thể sử dụng chúng làm phím cho

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
29.

Lọc các mục: Xem lại

Để lọc các mục trong từ điển với sự hiểu biết, bạn chỉ cần thêm một mệnh đề

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
26 xác định điều kiện bạn muốn đáp ứng. Trong ví dụ trước mà bạn đã lọc từ điển, điều kiện đó là
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
48. Với điều khoản
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
26 này được thêm vào cuối độ hiểu từ điển, bạn sẽ lọc ra các mục có giá trị lớn hơn
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
28. Hãy để một cái nhìn:

>>>

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
6

Bây giờ

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
29 chỉ chứa các mục đáp ứng tình trạng của bạn. So với các giải pháp trước đó, cái này là Pythonic và hiệu quả hơn.

Thực hiện một số tính toán: Xem lại

Bạn có nhớ ví dụ với doanh số bán hàng của công ty không? Nếu bạn sử dụng danh sách hiểu được lặp lại thông qua các giá trị từ điển, thì bạn sẽ nhận được mã nhỏ gọn, nhanh và Pythonic hơn:

>>>

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
7

Sự hiểu biết danh sách đã tạo ra một đối tượng

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
16 chứa các giá trị của
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
31, và sau đó bạn đã tổng hợp tất cả chúng bằng cách sử dụng
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
54 và lưu trữ kết quả trong
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
32.

Nếu bạn làm việc với một từ điển thực sự lớn và việc sử dụng bộ nhớ là một vấn đề đối với bạn, thì bạn có thể sử dụng biểu thức máy phát thay vì hiểu danh sách. Biểu thức của trình tạo là một biểu thức trả về một trình lặp. Nó trông giống như một sự hiểu biết danh sách, nhưng thay vì dấu ngoặc, bạn cần sử dụng dấu ngoặc đơn để xác định nó:generator expression is an expression that returns an iterator. It looks like a list comprehension, but instead of brackets you need to use parentheses to define it:

>>>

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
8

Nếu bạn thay đổi dấu ngoặc vuông cho một cặp dấu ngoặc đơn (dấu ngoặc đơn của

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
54 tại đây), bạn sẽ biến danh sách hiểu thành biểu thức của trình tạo và mã của bạn sẽ hiệu quả bộ nhớ, bởi vì các biểu thức tạo mang lại các phần tử theo yêu cầu. Thay vì tạo và lưu trữ toàn bộ danh sách trong bộ nhớ, bạn sẽ chỉ phải lưu trữ một yếu tố tại một thời điểm.

Cuối cùng, có một cách đơn giản hơn để giải quyết vấn đề này chỉ bằng cách sử dụng

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
57 trực tiếp làm đối số cho
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
54:

>>>

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
9

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
54 nhận được một cuộc đối số có thể lặp lại và trả về tổng số phần tử của nó. Ở đây,
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
57 đóng vai trò của những người được chuyển sang
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
54. Kết quả là tổng thu nhập bạn đang tìm kiếm.

Loại bỏ các mặt hàng cụ thể

Bây giờ, giả sử bạn có một từ điển và cần phải tạo một cái mới với các khóa được chọn bị xóa. Hãy nhớ làm thế nào các đối tượng xem khóa giống như các bộ? Chà, những điểm tương đồng này vượt xa chỉ là bộ sưu tập các đối tượng có thể băm và độc đáo. Các đối tượng xem khóa cũng hỗ trợ các hoạt động chung

>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
3. Hãy để xem cách bạn có thể tận dụng điều này để loại bỏ các mục cụ thể trong từ điển:

>>>

>>> # Python 3.5. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
0

Mã này hoạt động vì các đối tượng quan điểm khóa hỗ trợ các hoạt động

>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
3 như các công đoàn, giao lộ và sự khác biệt. Khi bạn đã viết
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
64 bên trong sự hiểu biết từ điển, bạn thực sự đã thực hiện một hoạt động khác biệt
>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
3. Nếu bạn cần thực hiện bất kỳ hoạt động
>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
3 nào với các khóa của từ điển, thì bạn chỉ có thể sử dụng đối tượng xem khóa trực tiếp mà không cần chuyển đổi nó thành
>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
3. Đây là một tính năng ít được biết đến của các đối tượng xem khóa có thể hữu ích trong một số tình huống.

Sắp xếp một từ điển

Nó thường cần thiết để sắp xếp các yếu tố của một bộ sưu tập. Vì Python 3.6, từ điển được đặt hàng các cấu trúc dữ liệu, vì vậy nếu bạn sử dụng Python 3.6 (và hơn thế nữa), bạn sẽ có thể sắp xếp các mục của bất kỳ từ điển nào bằng cách sử dụng

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
68 và với sự trợ giúp của sự hiểu biết từ điển:

>>>

>>> # Python 3.5. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
1

Mã này cho phép bạn tạo một từ điển mới với các khóa của nó theo thứ tự được sắp xếp. Điều này là có thể bởi vì

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
69 trả về một danh sách các khóa được sắp xếp mà bạn có thể sử dụng để tạo từ điển mới
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
70.

Để biết thêm thông tin về cách tinh chỉnh sắp xếp của bạn, hãy xem sắp xếp từ điển Python: giá trị, khóa, v.v.

Lặp lại theo thứ tự sắp xếp

Đôi khi bạn có thể cần lặp lại thông qua một từ điển trong Python nhưng muốn làm điều đó theo thứ tự được sắp xếp. Điều này có thể đạt được bằng cách sử dụng

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
68. Khi bạn gọi
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
72, bạn sẽ nhận được
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
16 với các yếu tố của
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
74 theo thứ tự được sắp xếp.

Hãy để xem cách bạn có thể sử dụng

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
68 để lặp lại thông qua một từ điển trong Python khi bạn cần thực hiện theo thứ tự được sắp xếp.

Được sắp xếp theo chìa khóa

Nếu bạn cần lặp lại thông qua một từ điển trong Python và muốn nó được sắp xếp bằng các khóa, thì bạn có thể sử dụng từ điển của mình như một đối số cho

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
68. Điều này sẽ trả về một
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
16 chứa các khóa theo thứ tự được sắp xếp và bạn sẽ có thể lặp lại thông qua chúng:

>>>

>>> # Python 3.5. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
2

Trong ví dụ này, bạn đã sắp xếp từ điển (theo thứ tự bảng chữ cái) bằng các phím sử dụng

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
69 trong tiêu đề của vòng lặp
>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
8. Lưu ý rằng bạn cũng có thể sử dụng
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
80 để có được kết quả tương tự. Trong cả hai trường hợp, bạn sẽ nhận được một
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
16 chứa các khóa từ điển của bạn theo thứ tự được sắp xếp.

Được sắp xếp theo các giá trị

Bạn cũng có thể cần lặp lại thông qua một từ điển trong Python với các mục của nó được sắp xếp theo các giá trị. Bạn cũng có thể sử dụng

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
68, nhưng với một đối số thứ hai gọi là
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
6.

Đối số từ khóa

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
6 chỉ định một hàm của một đối số được sử dụng để trích xuất một khóa so sánh từ mỗi yếu tố mà bạn đang xử lý.

Để sắp xếp các mục của từ điển theo các giá trị, bạn có thể viết một hàm trả về giá trị của từng mục và sử dụng hàm này làm đối số

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
6 thành
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
68:

>>>

>>> # Python 3.5. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
3

Trong ví dụ này, bạn đã xác định

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
87 và sử dụng nó để sắp xếp các mục của
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
31 theo giá trị. Sau đó, bạn lặp lại thông qua từ điển theo thứ tự được sắp xếp bằng cách sử dụng
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
68. Hàm chính (
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
87) yêu cầu
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
68 sắp xếp
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
92 theo phần tử thứ hai của mỗi mục, nghĩa là, theo giá trị (
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
93).

Bạn cũng có thể chỉ muốn lặp lại thông qua các giá trị của một từ điển theo thứ tự được sắp xếp, mà không phải lo lắng về các khóa. Trong trường hợp đó, bạn có thể sử dụng

>>> for item in a_dict.items():
...     print(item)
...
('color', 'blue')
('fruit', 'apple')
('pet', 'dog')
5 như sau:

>>>

>>> # Python 3.5. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
4

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
95 đã trả về các giá trị của từ điển theo thứ tự được sắp xếp theo thứ tự bạn muốn. Các phím giành được có thể truy cập được nếu bạn sử dụng
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
57, nhưng đôi khi bạn không thực sự cần các phím, chỉ là các giá trị và đây là một cách nhanh chóng để truy cập vào chúng.

Đảo ngược

Nếu bạn cần sắp xếp từ điển của mình theo thứ tự ngược lại, bạn có thể thêm

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
97 làm đối số vào
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
68. Đối số từ khóa
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
99 sẽ lấy giá trị boolean. Nếu nó được đặt thành
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
05, thì các phần tử được sắp xếp theo thứ tự ngược lại:

>>>

>>> # Python 3.5. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
5

Ở đây, bạn đã lặp lại các khóa của

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
31 theo thứ tự ngược lại bằng cách sử dụng
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
02 trong tiêu đề của vòng lặp
>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
8.

Cuối cùng, điều quan trọng cần lưu ý là

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
68 không thực sự sửa đổi thứ tự của từ điển cơ bản. Điều thực sự xảy ra là
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
68 tạo ra một danh sách độc lập với phần tử của nó theo thứ tự được sắp xếp, do đó
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
31 vẫn giữ nguyên:

>>>

>>> # Python 3.5. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
6

Mã này cho bạn thấy rằng

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
31 đã không thay đổi.
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
68 didn sửa đổi
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
31. Nó chỉ tạo một danh sách được sắp xếp mới từ các khóa của
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
31.

Lặp lại một cách phá hủy với .popitem ()

Đôi khi bạn cần lặp lại thông qua một từ điển trong Python và xóa các mục của nó một cách tuần tự. Để thực hiện nhiệm vụ này, bạn có thể sử dụng

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
11, sẽ xóa và trả lại một cặp giá trị khóa tùy ý từ một từ điển. Mặt khác, khi bạn gọi
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
11 trên một từ điển trống, nó sẽ tăng
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
13.

Nếu bạn thực sự cần phải phá hủy một cách phá hủy thông qua một từ điển trong Python, thì

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
11 có thể hữu ích. Đây là một ví dụ:

>>> # Python 3.5. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
7

Ở đây, bạn đã sử dụng vòng lặp

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
15 thay vì vòng
>>> dir({})
['__class__', '__contains__', '__delattr__', ... , '__iter__', ...]
8. Lý do cho điều này là vì nó không bao giờ an toàn khi lặp lại thông qua một từ điển trong Python nếu bạn giả vờ sửa đổi nó theo cách này, nghĩa là, nếu bạn đang xóa hoặc thêm các mục vào nó.

Bên trong vòng

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
15, bạn đã xác định một khối
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
18 để bắt
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
13 được nâng lên bởi
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
20 khi
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0 trống. Trong khối
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
18, bạn xử lý từ điển, loại bỏ một mục trong mỗi lần lặp. Biến
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
23 giữ một tham chiếu đến các mục liên tiếp và cho phép bạn thực hiện một số hành động với chúng.

Nếu bạn chạy tập lệnh này từ dòng lệnh của mình, thì bạn sẽ nhận được kết quả sau:

>>> # Python 3.5. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
8

Ở đây

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
11 đã liên tục loại bỏ các mục của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
0. Vòng lặp bị vỡ khi từ điển trở nên trống rỗng và
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
11 đã tăng ngoại lệ
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
13.

Sử dụng một số chức năng tích hợp của Python,

Python cung cấp một số chức năng tích hợp có thể hữu ích khi bạn làm việc với các bộ sưu tập, như từ điển. Các chức năng này là một loại công cụ lặp cung cấp cho bạn một cách khác để lặp lại thông qua một từ điển trong Python. Hãy cùng xem một số trong số họ.

>>> # Python 3.6 and beyond >>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'} >>> a_dict {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'} >>> a_dict {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'} 7

Python sườn

>>> # Python 3.6 and beyond
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
7 được định nghĩa là
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
30 và trả về một trình lặp lại áp dụng
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
31 cho mọi mục của
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
74, mang lại kết quả theo yêu cầu. Vì vậy,
>>> # Python 3.6 and beyond
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
7 có thể được xem như một công cụ lặp mà bạn có thể sử dụng để lặp lại thông qua một từ điển trong Python.

Giả sử bạn có một từ điển chứa giá của một loạt các sản phẩm và bạn cần phải áp dụng giảm giá cho chúng. Trong trường hợp này, bạn có thể xác định một chức năng quản lý giảm giá và sau đó sử dụng nó làm đối số đầu tiên cho

>>> # Python 3.6 and beyond
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
7. Đối số thứ hai có thể là
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
35:

>>>

>>> # Python 3.5. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
9

Ở đây,

>>> # Python 3.6 and beyond
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
7 lặp lại thông qua các mục của từ điển (
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
35) để áp dụng giảm giá 5% cho mỗi loại trái cây bằng cách sử dụng
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
38. Trong trường hợp này, bạn cần sử dụng
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
39 để tạo từ điển
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
40 từ trình lặp được trả về bởi
>>> # Python 3.6 and beyond
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
7.

Lưu ý rằng

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
38 trả về
>>> for key in a_dict:
...     print(key, '->', a_dict[key])
...
color -> blue
fruit -> apple
pet -> dog
4 của mẫu
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
44, trong đó
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
45 đại diện cho khóa và
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
46 đại diện cho giá trị mới.

>>> # Python 3.6 and beyond >>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'} >>> a_dict {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'} >>> a_dict {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'} 8

>>> # Python 3.6 and beyond
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
8 là một chức năng tích hợp khác mà bạn có thể sử dụng để lặp lại thông qua từ điển trong Python và lọc ra một số mục của nó. Hàm này được định nghĩa là
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
49 và trả về một trình lặp lại từ các phần tử của
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
74 mà
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
31 trả về
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
05.

Giả sử bạn muốn biết các sản phẩm có giá thấp hơn

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
53. Bạn cần xác định một hàm để xác định xem giá có thỏa mãn điều kiện đó hay không và chuyển nó như đối số đầu tiên cho
>>> # Python 3.6 and beyond
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
8. Đối số thứ hai có thể là
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
55:

>>>

>>> # Python 3.6 and beyond
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
0

Ở đây, bạn đã lặp lại thông qua các phím của

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
07 với
>>> # Python 3.6 and beyond
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
8. Sau đó
>>> # Python 3.6 and beyond
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
8 áp dụng
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
59 cho mọi khóa của
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
07. Cuối cùng, bạn cần sử dụng
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
61 để tạo danh sách các sản phẩm có giá thấp, bởi vì
>>> # Python 3.6 and beyond
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
8 trả về một trình lặp và bạn thực sự cần một đối tượng
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
16.

Sử dụng bộ sưu tập.ChainMap

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
64 là một mô -đun hữu ích từ thư viện tiêu chuẩn Python cung cấp các loại dữ liệu container chuyên dụng. Một trong những loại dữ liệu này là
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
65, đây là một lớp giống như từ điển để tạo một chế độ xem nhiều ánh xạ (như từ điển). Với
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
65, bạn có thể nhóm nhiều từ điển lại với nhau để tạo một chế độ xem duy nhất, có thể cập nhật.

Bây giờ, giả sử bạn có hai (hoặc nhiều) từ điển, và bạn cần lặp lại thông qua chúng cùng nhau như một. Để đạt được điều này, bạn có thể tạo một đối tượng

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
65 và khởi tạo nó bằng từ điển của bạn:

>>>

>>> # Python 3.6 and beyond
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
1

Sau khi nhập

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
65 từ
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
64, bạn cần tạo một đối tượng
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
65 với các từ điển bạn muốn chuỗi, và sau đó bạn có thể tự do lặp lại thông qua đối tượng kết quả như bạn sẽ làm với một từ điển thông thường.

Các đối tượng

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
65 cũng triển khai
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> d_items = a_dict.items()
>>> d_items  # Here d_items is a view of items
dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')])
1,
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
73 và
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
9 như một từ điển tiêu chuẩn, vì vậy bạn có thể sử dụng các phương thức này để lặp lại thông qua đối tượng giống như từ điển được tạo bởi
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
65, giống như bạn sẽ làm với một từ điển thông thường:

>>>

>>> # Python 3.6 and beyond
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
2

Trong trường hợp này, bạn đã gọi

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
9 trên đối tượng
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
65. Đối tượng
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
65 hoạt động như thể nó là một từ điển thông thường và
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
...     print(key)
...
color
fruit
pet
9 đã trả về một đối tượng chế độ xem từ điển có thể được lặp lại như bình thường.

Python sườn

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
80 là một mô -đun cung cấp một số công cụ hữu ích để thực hiện các tác vụ lặp. Hãy cùng xem cách bạn có thể sử dụng một số trong số chúng để lặp lại thông qua một từ điển trong Python.

Lặp đi lặp theo chu kỳ với chu kỳ ()

Giả sử bạn muốn lặp lại thông qua một từ điển trong Python, nhưng bạn cần lặp lại qua nó liên tục trong một vòng lặp duy nhất. Để hoàn thành nhiệm vụ này, bạn có thể sử dụng

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
81, điều này tạo ra một trình lặp trả về các phần tử từ
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
74 và lưu một bản sao của mỗi phần. Khi
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
74 đã cạn kiệt,
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
84 trả về các phần tử từ bản sao đã lưu. Điều này được thực hiện theo kiểu theo chu kỳ, vì vậy, bạn sẽ dừng chu kỳ.

Trong ví dụ sau, bạn sẽ lặp đi lặp lại thông qua các mục của từ điển ba lần liên tiếp:

>>>

>>> # Python 3.6 and beyond
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
3

Mã trước cho phép bạn lặp lại thông qua

>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
07 một số lần nhất định (
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
86 trong trường hợp này). Chu kỳ này có thể miễn là bạn cần, nhưng bạn có trách nhiệm ngăn chặn nó. Điều kiện
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
26 phá vỡ chu kỳ khi
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
88 đếm xuống bằng không.

Xếp vòng lặp với chuỗi ()

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
80 cũng cung cấp
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
90, nhận được một số
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
91 dưới dạng đối số và tạo ra một trình lặp lại mang lại các phần tử từ lần đầu tiên có thể điều chỉnh được cho đến khi nó cạn kiệt, sau đó lặp đi lặp lại tiếp theo, cho đến khi tất cả chúng bị kiệt sức.

Điều này cho phép bạn lặp lại qua nhiều từ điển trong một chuỗi, thích những gì bạn đã làm với

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
92:

>>>

>>> # Python 3.6 and beyond
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
4

Trong mã trên,

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
93 đã trả về một số ít kết hợp các mục từ
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
94 và
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
95.

Nó cũng có thể sử dụng

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> d_items = a_dict.items()
>>> d_items  # Here d_items is a view of items
dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')])
1 hoặc
>>> for item in a_dict.items():
...     print(item)
...
('color', 'blue')
('fruit', 'apple')
('pet', 'dog')
5, tùy thuộc vào nhu cầu của bạn, với điều kiện đồng nhất: Nếu bạn sử dụng
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> d_items = a_dict.items()
>>> d_items  # Here d_items is a view of items
dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')])
1 cho một đối số với
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
93, thì bạn cần sử dụng
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> d_items = a_dict.items()
>>> d_items  # Here d_items is a view of items
dict_items([('color', 'blue'), ('fruit', 'apple'), ('pet', 'dog')])
1 cho phần còn lại của chúng.

Sử dụng toán tử giải nén từ điển (**)

Python 3,5 mang đến một tính năng mới và thú vị. PEP 448 - Các khái quát hóa việc giải nén bổ sung có thể giúp cuộc sống của bạn dễ dàng hơn khi lặp đi lặp lại thông qua nhiều từ điển trong Python. Hãy cùng xem cách thức hoạt động của nó với một ví dụ ngắn.

Giả sử bạn có hai (hoặc nhiều) từ điển, và bạn cần lặp lại thông qua chúng cùng nhau, mà không cần sử dụng

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
92 hoặc
>>> # Python 3.5. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
02, như bạn đã thấy trong các phần trước. Trong trường hợp này, bạn có thể sử dụng toán tử giải nén từ điển (
>>> # Python 3.5. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
03) để hợp nhất hai từ điển thành một từ mới và sau đó lặp lại thông qua nó:

>>>

>>> # Python 3.6 and beyond
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
5

Nhà điều hành giải nén từ điển (

>>> # Python 3.5. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
03) thực sự là một tính năng tuyệt vời trong Python. Nó cho phép bạn hợp nhất nhiều từ điển thành một từ mới, như bạn đã làm trong ví dụ với
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
95 và
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
94. Khi bạn đã hợp nhất các từ điển với toán tử giải nén, bạn có thể lặp lại thông qua từ điển mới như bình thường.

Điều quan trọng cần lưu ý là nếu các từ điển mà bạn đang cố gắng hợp nhất có các khóa lặp đi lặp lại hoặc thông thường, thì các giá trị của từ điển bên phải sẽ chiếm ưu thế:

>>>

>>> # Python 3.6 and beyond
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
6

Khóa

>>> # Python 3.5. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
07 có mặt trong cả hai từ điển. Sau khi bạn hợp nhất chúng, giá trị
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
94 cho
>>> # Python 3.5. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
07 (
>>> # Python 3.5. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
>>> a_dict
{'fruit': 'apple', 'pet': 'dog', 'color': 'blue'}
10) đã chiếm ưu thế, bởi vì
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
94 là từ điển bên phải.

Sự kết luận

Bây giờ bạn đã biết những điều cơ bản về cách lặp lại thông qua một từ điển trong Python, cũng như một số kỹ thuật và chiến lược nâng cao hơn!

Bạn đã học:

  • Từ điển là gì, cũng như một số tính năng chính và chi tiết triển khai của họ
  • Những cách cơ bản để lặp lại thông qua một từ điển trong Python là gì
  • Loại nhiệm vụ nào bạn có thể hoàn thành bằng cách lặp lại thông qua một từ điển trong Python
  • Cách sử dụng một số kỹ thuật và chiến lược được xây dựng để lặp lại thông qua từ điển trong Python

Bạn có các công cụ và kiến ​​thức mà bạn sẽ cần để tận dụng tối đa từ điển trong Python. Điều này sẽ giúp bạn hiệu quả và hiệu quả hơn trong việc sử dụng phép lặp từ điển trong tương lai.

Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: Bài viết từ điển Python: Lời khuyên & thủ thuật nâng cao This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Python Dictionary Iteration: Advanced Tips & Tricks