Thêm giá trị khóa vào từ điển Python cho vòng lặp

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 khác nhau. Hướng dẫn này sẽ đưa bạn đi sâu vào cách lặp qua một từ điển trong 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 chúng
  • Cách lặp qua 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 qua từ điển trong Python

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

  • Từ điển trong Python
  • Itertools trong Python 3, theo ví dụ
  • Các tài liệu cho và

Sẳn sàng?

Tải xuống miễn phí. Nhận một chương mẫu từ Thủ thuật Python. Cuốn sách chỉ cho bạn các phương pháp hay nhất về Python với các ví dụ đơn giản mà bạn có thể áp dụng ngay lập tức để viết mã Pythonic + đẹp hơn

Lấy bài kiểm tra. Kiểm tra kiến ​​thức của bạn với bài kiểm tra tương tác “Lặp từ điển Python” của chúng tôi. Sau khi hoàn thành, bạn sẽ nhận được điểm số để có thể theo dõi quá trình học tập của mình theo thời gian

Lấy bài kiểm tra "

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

Từ điển là nền tảng của Python. Bản thân ngôn ngữ được xây dựng xung quanh từ điển. 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 với các phương thức

>>> dir[{}]
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
1 và
>>> dir[{}]
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
2. []

Có một vài điểm cần lưu ý

  1. Từ điển ánh xạ các khóa tới 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, có nghĩa là chúng phải có giá trị băm không bao giờ thay đổi trong suốt thời gian tồn tại của 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 trong bộ công cụ của bạn với tư cách là nhà phát triển Python

Không giống như hỗ trợ truy cập phần tử bằng chỉ số nguyên, từ điển được lập chỉ mục theo khóa

Các khóa trong từ điển giống như một

>>> dir[{}]
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
3, là một tập hợp các đối tượng duy nhất và có thể băm được. Vì các đối tượng cần có thể băm được nên không thể sử dụng các đối tượ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 được hay không. Thực sự không có giới hạn nào đối với các giá trị

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

Trong Python 2. 7, từ điển là cấu trúc không có thứ tự. Thứ tự các mục trong từ điển bị xáo trộn. Đ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ụ

>>>

>>> # 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 trình thông dịch và mở một phiên tương tác mới sau đó, bạn sẽ nhận được cùng một đơn 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'}

Xem xét kỹ hơn hai kết quả đầ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 thứ tự là xác định

Trong Python 3. 5, từ điển vẫn không có thứ tự, nhưng lần này, cấu trúc dữ liệu ngẫu nhiên. Điều này có nghĩa là mỗi khi bạn chạy lại từ điển, bạn sẽ nhận được một thứ tự các mặt hàng khác nhau. Hãy cùng xem

>>>

>>> # 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 tham gia một phiên tương tác mới, thì bạn sẽ nhận được thông tin 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'}

Lần này, bạn có thể thấy rằng thứ tự của các mục khác nhau ở cả hai đầu ra. Đó là lý do tại sao bạn có thể nói chúng là cấu trúc dữ liệu ngẫu nhiên

Trong Python 3. 6 trở lên, , có nghĩa là chúng giữ nguyên thứ tự mà chúng được giới thiệu, như bạn có thể thấy tại đâ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'}

Đâ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 đang viết mã được cho là 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, 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 có cấu trúc dữ liệu có thể thay đổi, nghĩa là bạn có thể thêm, xóa và cập nhật các mục của chúng. Cần lưu ý rằng điều này cũng có nghĩa là chúng không thể được sử dụng làm 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

Ghi chú. Mọi thứ bạn đã học trong phần này đều liên quan đến triển khai Python cốt lõi, CPython

Các triển khai Python khác, như PyPy, IronPython hoặc Jython, có thể thể hiện các hành vi và tính năng từ điển khác nằm ngoài phạm vi của bài viết này

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

Cách lặp qua từ điển trong Python. Những thứ 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 gặp phải các tình huống cần lặp lại 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 khóa-giá trị của nó

Khi nói đến việc lặp qua từ điển trong Python, ngôn ngữ này 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 trực tiếp qua các phím

Từ điển của Python là. Điều này có nghĩa là chúng kế thừa một số phương thức đặc biệt mà Python sử dụng nội bộ để thực hiện một số thao tác. Các phương thức này được đặt tên bằng cách sử dụng quy ước đặt tên thêm dấu gạch dưới kép ở đầu và cuối tên của phương thức

Để 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à một 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 triển khai

>>>

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

Nếu bạn xem kỹ kết quả trước đó, bạn sẽ thấy

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

Ghi chú. Đầu ra của mã trước đó đã được viết tắt [

>>> dir[{}]
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
7] để tiết kiệm dung lượng

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

>>> dir[{}]
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
8 nên lặp lại các phím. Đ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__', ...]
9, Python sẽ tự động gọi
>>> dir[{}]
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
8 trên từ điển đó và bạn sẽ nhận được một trình vòng lặp trên 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
1 là một từ điển và nó triển khai
>>> dir[{}]
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
8. Trong ví dụ này, Python đã gọi
>>> dir[{}]
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
8 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
1

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

>>> dir[{}]
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
9, và bạn đã hoàn tất

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. Thủ thuật này bao gồm việc 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
6 với từ điển và các khóa của 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 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
7] và các giá trị [
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
..     print[key]
...
color
fruit
pet
8] của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
..     print[key]
...
color
fruit
pet
1 cùng một lúc. Bằng cách này, bạn có thể thực hiện bất kỳ thao tác nào với cả khóa và giá trị

Lặp qua
>>> for key in a_dict:
..     print[key, '->', a_dict[key]]
...
color -> blue
fruit -> apple
pet -> dog
0

Khi bạn đang làm việc với từ điển, có thể 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 qua từ điển trong Python là sử dụng

>>> for key in a_dict:
..     print[key, '->', a_dict[key]]
...
color -> blue
fruit -> apple
pet -> dog
0, đây là phương thức trả về một mục mới trong 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']]]

Chế độ xem từ điển như

>>> for key in a_dict:
..     print[key, '->', a_dict[key]]
...
color -> blue
fruit -> apple
pet -> dog
2 cung cấp chế độ xem động cho các mục nhập của từ điển, có nghĩa là khi từ điển thay đổi, chế độ xem sẽ phản ánh những thay đổi này

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

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

>>>

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

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

>>> for key in a_dict:
..     print[key, '->', a_dict[key]]
...
color -> blue
fruit -> apple
pet -> dog
0 mang lại từng cặp khóa-giá trị và cho phép bạn lặp qua từ điển trong Python, nhưng theo cách mà bạn có quyền truy cập vào các khóa 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ẻ do

>>> for key in a_dict:
..     print[key, '->', a_dict[key]]
...
color -> blue
fruit -> apple
pet -> dog
0 mang lại, bạn sẽ nhận thấy rằng chúng thực sự là các đối tượng
>>> for key in a_dict:
..     print[key, '->', a_dict[key]]
...
color -> blue
fruit -> apple
pet -> dog
6. Hãy cùng xem

>>>

>>> # 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 để lặp qua các khóa và giá trị của từ điển mà bạn đang làm việc. Để đạt được điều này, bạn chỉ cần giải nén các phần 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
7 và
>>> for key in a_dict:
..     print[key, '->', a_dict[key]]
...
color -> blue
fruit -> apple
pet -> dog
9 trong tiêu đề của vòng lặp
>>> dir[{}]
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
9 của bạn thực hiện việc 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
7 sẽ lưu khóa và
>>> for key in a_dict:
..     print[key, '->', a_dict[key]]
...
color -> blue
fruit -> apple
pet -> dog
9 sẽ lưu giá trị của mục đượ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ị một cách riêng biệt và theo cách dễ đọc hơn và Pythonic

Ghi chú. Lưu ý rằ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']]]
3 và
>>> 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']]]
4 trả về các đối tượng xem giống như
>>> for key in a_dict:
..     print[key, '->', a_dict[key]]
...
color -> blue
fruit -> apple
pet -> dog
0, như bạn sẽ thấy trong hai phần tiếp theo

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

Lặp qua
>>> 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']]]
4

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']]]
4, đây là phương thức trả về một đối tượng dạng xem mới chứa các khóa 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'}
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']]]
4 ở đây đã cung cấp chế độ xem động trên các phím của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
..     print[key]
...
color
fruit
pet
1. Chế độ xem này có thể được sử dụng để lặp 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
1

Để lặp 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']]]
4, 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']]]
4 trong tiêu đề của vòng lặp ____1_______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'}
3

Khi bạn gọi cho

>>> 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']]]
4 vào ngày
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
..     print[key]
...
color
fruit
pet
1, bạn sẽ xem được các phím. Python biết rằng các đối tượng dạng xem có thể lặp lại, vì vậy nó bắt đầu lặp lại 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
1

Mặt khác, sử dụng thủ thuật giống như 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
6], bạn có thể 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'}
4

Bằng cách này, bạn có quyền truy cập đồng thời vào các khóa [_______18_______7] và giá trị [

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
..     print[key]
...
color
fruit
pet
8] của
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
..     print[key]
...
color
fruit
pet
1 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
>>> 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']]]
3

Nó cũng thường chỉ sử dụng các giá trị để lặp qua từ điển trong Python. Một cách để làm điều đó là 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']]]
3, trả về một dạng xem với 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'}
5

Trong đoạn mã trướ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'}
03 giữ một tham chiếu đến một đối tượng xem có 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
1

Như bất kỳ đối tượng xem nào, đố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']]]
3 cũng có thể được lặp lại. Trong trường hợp này,
>>> 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']]]
3 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
1

>>>

>>> # 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

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']]]
3, 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
1 mà không phải xử lý các khóa

Điều đáng chú ý là chúng cũng hỗ trợ , đây là một tính năng quan trọng nếu bạn đang muốn biết liệu một thành phần cụ thể có trong từ điển hay khô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'}
7

Kiểm tra tư cách 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'}
10 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'}
12 nếu khóa [hoặc giá trị hoặc mục] có 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'}
13 nếu không. Kiểm tra tư cách thành viên cho phép bạn không lặp qua từ điển trong Python nếu bạn chỉ muốn biết liệu khóa [hoặc giá trị hoặc mục] nhất định có trong từ điển hay không

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

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

Có thể khá phổ biến khi cần sửa đổi các giá trị và khóa khi bạn đang lặp qua một từ điển trong Python. Có một số điểm bạn sẽ cần 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 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

Trong ví dụ mã trước, để sửa đổi 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'}
14 và áp dụng giảm giá 10%, bạn đã sử dụng 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'}
15

Vậy tại sao bạn phải sử dụng từ điển gốc nếu bạn có quyền truy cập vào khóa của 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'}
16] và các giá trị của 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'}
17]?

Vấn đề thực sự là những thay đổi 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'}
16 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'}
17 không được phản ánh trong từ điển gốc. Nghĩa là, nếu bạn sửa đổi bất kỳ thành phần nào trong số chú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 hoặ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'}
17] trực tiếp bên trong vòng lặp, thì điều thực sự xảy ra là bạn sẽ mất tham chiếu đến thành phần từ điển có liên quan mà không thay đổi bất kỳ thứ gì trong từ điển

Mặt khác, các khóa có thể được thêm hoặc xóa khỏi từ điển bằng cách chuyển đổi chế độ xem đượ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']]]
4 thành 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'}
23

>>>

>>> # 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

Cách tiếp cận này có thể có một số hàm ý về hiệu suất, chủ yếu liên quan đến mức tiêu thụ bộ nhớ. Ví dụ: thay vì một đối tượng dạng xem tạo ra các phần tử theo yêu cầu, bạn sẽ 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'}
23 hoàn toàn mới trong bộ nhớ hệ thống của mình. Tuy nhiên, đây có thể là một cách an toàn để sửa đổi các khóa trong khi bạn lặp qua từ điển trong Python

Cuối cùng, nếu bạn cố gắng xóa một khóa khỏ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'}
14 bằng cách sử dụng trực tiếp
>>> 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']]]
4, thì Python sẽ đưa ra 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'}
27 cho bạn biết rằng kích thước của từ điển đã thay đổi trong quá trình lặp lạ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'}
0

Điều này là do

>>> 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']]]
4 trả về một đối tượng dạng xem từ điển, mỗi lần tạo ra một khóa theo yêu cầu và nếu bạn xóa một mụ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'}
29], thì Python sẽ 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'}
27, vì bạn đã sửa đổi từ điển trong quá trình lặp lại

Ghi chú. Trong Python 2,

>>> for key in a_dict:
..     print[key, '->', a_dict[key]]
...
color -> blue
fruit -> apple
pet -> dog
0,
>>> 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']]]
4 và
>>> 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']]]
3 trả về các đố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'}
23. Như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'}
35,
>>> # 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'}
36 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'}
37 trả về các trình vòng lặp. Vì vậy, nếu bạn đang sử dụng Python 2, thì bạn có thể sửa đổi các khóa của từ điển bằng cách sử dụng trực tiếp
>>> 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']]]
4

Mặt khác, nếu bạn đang 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'}
36 trong mã Python 2 của mình và bạn cố gắng sửa đổi các khóa của từ điển, thì 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'}
27

Ví dụ trong thế giới thực

Cho đến nay, bạn đã thấy những cách cơ bản hơn để lặp qua từ điển trong Python. Bây giờ là lúc để xem cách bạn có thể thực hiện một số hành động với các mục của từ điển trong quá trình lặp lại. Hãy xem xét một số ví dụ thực tế

Ghi chú. Ở phần sau của bài viết này, bạn sẽ thấy một cách khác để giải quyết những vấn đề tương tự này bằng cách sử dụng các công cụ Python khác

Biến chìa khóa thành giá trị và ngược lại

Giả sử bạn có một cuốn từ điển và vì lý do nào đó cần biến khóa thành giá trị và ngược lại. Trong tình huống này, bạn có thể sử dụng vòng lặp

>>> dir[{}]
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
9 để lặp qua từ điển và xây dựng từ điển mới bằng cách sử dụng các khóa làm giá trị và ngược lạ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'}
42 đã làm tất cả công việc cho bạn bằng cách biến khóa thành giá trị và sử dụng 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

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

Lọc mục

Đôi khi bạn sẽ rơi vào tình huống có một từ điển và bạn muốn tạo một từ điển 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'}
43 bên trong vòng lặp
>>> dir[{}]
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
9 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'}
45. 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'}
46 chỉ chứa các mục thỏa mã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'}
47. Đây là một giải pháp khả thi cho loại vấn đề này. Sau này, bạn sẽ thấy một cách Pythonic và dễ đọc hơn để có được kết quả tương tự

Thực hiện một số tính toán

Bạn cũng thường cần thực hiện một số phép tính trong khi lặp qua từ điển trong Python. Giả sử bạn đã lưu trữ dữ liệu về doanh số bán hàng của công ty mình trong từ điển và bây giờ bạn muốn biết tổng thu nhập trong 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 bằng 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

Tại đây, bạn đã lặp 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'}
48 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'}
49 như bạn muốn. 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'}
50 thực hiện điều kỳ diệu và khi kết thúc 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'}
50 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'}
52

Sử dụng hiểu

Hiểu từ điển là một cách nhỏ gọn để xử lý tất cả hoặc một phần các phần tử trong bộ sưu tập và trả về kết quả là từ điển. Ngược lại với cách hiểu danh sách, chúng cần hai biểu thức được phân tách bằng dấu hai chấm, theo sau là mệnh đề

>>> dir[{}]
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
9 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'}
43 [tùy chọn]. Khi quá trình hiểu từ điển được chạy, các cặp khóa-giá trị kết quả sẽ được chèn vào một từ điển mới theo cùng thứ tự mà chúng được tạo ra

Ví dụ: giả sử 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ừ chúng. Trong trường hợp này, bạn có thể sử dụng Python

>>> # 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'}
55 để lặp qua các phần tử của cả hai danh sách theo 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'}
56 nhận hai iterables [
>>> # 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 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'}
58] làm đối số và tạo một iterator tổng hợp các phần tử từ mỗi iterable. Các đối tượng
>>> for key in a_dict:
..     print[key, '->', a_dict[key]]
...
color -> blue
fruit -> apple
pet -> dog
6 đượ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'}
56 sau đó được giải nén thành
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
..     print[key]
...
color
fruit
pet
7 và
>>> for key in a_dict:
..     print[key, '->', a_dict[key]]
...
color -> blue
fruit -> apple
pet -> dog
9, cuối cùng được sử dụng để tạo từ điển mới

Khả năng hiểu từ điển mở ra nhiều 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 từ điển trong Python

Biến chìa khóa thành giá trị và ngược lại. Xem lại

Nếu bạn xem xét lại vấn đề biến khóa thành 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 Pythonic 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 cách hiểu từ điển này, bạn đã tạo một từ điển hoàn toàn mới trong đó các khóa thay thế cho các giá trị và ngược lại. Cách tiếp cận mới này mang lại cho bạn khả năng viết mã Pythonic dễ đọc hơn, ngắn gọn, hiệu quả hơn

Điều kiện để mã này hoạt động giống với điều kiện bạn đã thấy trước đây. các giá trị phải là đối tượng có thể băm. Nếu không, bạn sẽ không thể sử dụng chúng làm chìa khóa 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'}
46

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

Lọc mục. Xem lại

Để lọc các mục trong từ điển theo cách hiểu, bạn chỉ cần thêm 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'}
43 xác định điều kiện bạn muốn đáp ứng. Trong ví dụ trước khi bạn lọc một 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'}
65. Với 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'}
43 này được thêm vào cuối phần 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'}
45. Hãy cùng xem

>>>

>>> # 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'}
46 chỉ chứa các mục thỏa mãn điều kiện của bạn. So với các giải pháp trước đây, giải pháp này 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ề doanh số bán hàng của công ty khô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'}
7

Khả năng hiểu danh sách đã tạo 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'}
23 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'}
48, 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'}
71 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'}
49

Nếu bạn đang 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 a thay vì hiểu danh sách. Biểu thức trình tạo là biểu thức trả về một trình vòng lặp. Nó trông giống như một cách hiểu 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ó

>>>

>>> # 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'}
71 ở đây], bạn sẽ chuyển khả năng hiểu danh sách thành một biểu thức trình tạo và mã của bạn sẽ có bộ nhớ hiệu quả, bởi vì các biểu thức trình tạo tạo ra 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 phần tử tại một thời điểm

Ghi chú. Nếu bạn hoàn toàn chưa quen với các biểu thức trình tạo, bạn có thể xem Giới thiệu về Trình tạo Python và Trình tạo Python 101 để hiểu rõ hơn về chủ đề này

Cuối cùng, có một cách đơn giản hơn để giải quyết vấn đề này bằng cách chỉ sử dụng trực tiế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'}
74 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'}
71

>>>

>>> # 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'}
71 nhận một iterable làm đối số và trả về tổng các 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'}
74 đóng vai trò là iterable được truyền 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'}
71. Kết quả là tổng thu nhập bạn đang tìm kiếm

Xóa các mục cụ thể

Bây giờ, giả sử bạn có một từ điển và cần tạo một từ điển mới với các khóa đã chọn đã bị xóa. Hãy nhớ cách các đối tượng key-view giống như các tập hợp? . Các đối tượng key-view cũng hỗ trợ các hoạt động chung của

>>> dir[{}]
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
3. Hãy xem cách bạn có thể tận dụng điều này để xóa 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 key-view hỗ trợ các hoạt động

>>> dir[{}]
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
3 như hợp nhất, giao lộ và 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'}
81 trong phần hiểu từ điển, bạn thực sự đang thực hiện một phép toán chênh lệch
>>> dir[{}]
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
3. Nếu bạn cần thực hiện bất kỳ thao tác
>>> dir[{}]
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
3 nào với các khóa của từ điển, thì bạn chỉ cần sử dụng trực tiếp đối tượng key-view mà không cần chuyển đổi nó thành một
>>> dir[{}]
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
3 trước. Đây là một tính năng ít được biết đến của các đối tượng key-view có thể hữu ích trong một số trường hợp

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

Nó thường cần thiết để sắp xếp các phần tử của một bộ sưu tập. Kể từ Python 3. 6, từ điển là cấu trúc dữ liệu có thứ tự, 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'}
85 và với sự trợ giúp của khả năng hiểu 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'}
86 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'}
87

Để 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 một từ điển Python. Giá trị, khóa và hơn thế nữa

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

Lặp lại theo thứ tự được sắp xếp

Đôi khi bạn có thể cần lặp qua một từ điển trong Python nhưng muốn thực hiện theo thứ tự đã 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'}
85. 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'}
89, bạn 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'}
23 với 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'}
91 theo thứ tự đã 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'}
85 để lặp qua từ điển trong Python khi bạn cần thực hiện theo thứ tự được sắp xếp

Sắp xếp theo phím

Nếu bạn cần lặp lại một từ điển trong Python và muốn nó được sắp xếp theo khóa, thì bạn có thể sử dụng từ điển của mình 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'}
85. Đ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'}
23 chứa các khóa theo thứ tự được sắp xếp và bạn sẽ có thể lặp 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 bảng chữ cái] theo các phím 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'}
86 trong tiêu đề của vòng lặp
>>> dir[{}]
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
9. 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'}
97 để 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'}
23 chứa các khóa từ điển của bạn theo thứ tự được sắp xếp

Ghi chú. Thứ tự sắp xếp sẽ phụ thuộc vào loại dữ liệu bạn đang sử dụng cho khóa hoặc giá trị và các quy tắc nội bộ mà Python sử dụng để sắp xếp các loại dữ liệu đó

Sắp xếp theo giá trị

Bạn cũng có thể cần lặp qua một từ điển trong Python với các mục của nó được sắp xếp theo 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'}
85, nhưng với đối số thứ hai có tên là
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
..     print[key]
...
color
fruit
pet
7

Đối số từ khóa

>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
..     print[key]
...
color
fruit
pet
7 chỉ định chức năng của một đối số được sử dụng để trích xuất khóa so sánh từ mỗi phần tử bạn đang xử lý

Để sắp xếp các mục của từ điển theo 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
7 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'}
85

>>>

>>> # 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 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'}
04 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'}
48 theo giá trị. Sau đó, bạn lặp lại 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'}
85. Hàm khóa [_______7_______04] 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'}
85 sắp xế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'}
09 theo phần tử thứ hai của mỗi mục, tức là theo 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'}
10]

Bạn cũng có thể chỉ muốn duyệt qua các giá trị của 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

>>> 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']]]
3 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 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'}
12 trả về các giá trị của từ điển theo thứ tự được sắp xếp như bạn mong muốn. Các khóa sẽ không 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'}
74, nhưng đôi khi bạn không thực sự cần các khóa, chỉ cần các giá trị và đây là cách nhanh chóng để truy cập chúng

đảo ngược

Nếu bạn cần sắp xếp các từ điển của mình theo thứ tự ngược lại, bạn có thể thê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'}
14 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'}
85. Đối số từ 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'}
16 phải nhận 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'}
12, 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

Tại đâ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'}
48 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'}
19 trong tiêu đề của vòng lặp
>>> dir[{}]
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
9

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'}
85 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'}
85 tạo một danh sách độc lập với phần tử của nó theo thứ tự được sắp xếp, vì vậ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'}
48 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'}
48 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'}
85 không 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'}
48. Nó vừa 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'}
48

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

Lặp đi lặp lại một cách triệt để 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'}
28[]

Đôi khi bạn cần lặp 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ự. Để 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'}
29, thao tác này sẽ xóa và trả về một cặp khóa-giá trị tùy ý khỏi 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'}
29 trên một từ điển trống, nó sẽ tạo ra mộ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'}
31

Nếu bạn thực sự cần phải lặp đi lặp lại một cách triệt để 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'}
29 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'}
33 thay vì vòng lặp
>>> dir[{}]
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
9. Lý do cho điều này là sẽ không bao giờ an toàn khi lặp qua một từ điển trong Python nếu bạn giả vờ sửa đổi nó theo cách này, tức là nếu bạn đang xóa hoặc thêm các mục vào nó

Bên trong 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'}
33, 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'}
36 để bắ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'}
31 đượ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'}
38 khi
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> for key in a_dict:
..     print[key]
...
color
fruit
pet
1 trở nên trống rỗ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'}
36, 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'}
41 giữ 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ố thao tác với chúng

Ghi chú. Trong ví dụ mã trước, bạn đã sử dụng chuỗi f của Python để định dạng chuỗi. Nếu bạn muốn tìm hiểu sâu hơn về f-string, thì bạn có thể xem Python 3’s f-Strings. Cú pháp định dạng chuỗi được cải tiến [Hướng dẫn]

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'}
29 lần lượt 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
1. Vòng lặp bị hỏng 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'}
29 đưa ra một 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'}
31

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

Python cung cấp một số hàm dựng sẵn có thể hữu ích khi bạn làm việc với các bộ sưu tập, chẳng hạn như từ điển. Các hàm này là một loại công cụ lặp cung cấp cho bạn một cách lặp khác thông qua từ điển trong Python. Hãy 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

>>> # 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'}
48 và trả về một iterator á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'}
49 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'}
91, 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 qua từ điển trong Python

Giả sử bạn có một từ điển chứa giá của một loạt sản phẩm và bạn cần áp dụng chiết khấu cho chúng. Trong trường hợp này, bạn có thể xác định hàm quản lý chiết khấu rồi sử dụng hàm đó 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'}
53

>>>

>>> # 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 các mục trong 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'}
53] để áp dụng chiết khấu 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'}
56. 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'}
57 để 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'}
58 từ trình vòng 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'}
56 trả về một
>>> for key in a_dict:
..     print[key, '->', a_dict[key]]
...
color -> blue
fruit -> apple
pet -> dog
6 có 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'}
62, 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'}
63 đạ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'}
64 đạ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 hàm tích hợp khác mà bạn có thể sử dụng để lặp qua một 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'}
67 và trả về một trình vòng lặp 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'}
91 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'}
49 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'}
12

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'}
71. 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ó 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'}
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'}
73

>>>

>>> # 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 qua 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'}
14 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'}
77 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'}
14. 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'}
79 để 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 vòng 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'}
23

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

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

>>> # 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'}
83 là một mô-đun hữu ích từ Thư viện chuẩn Python cung cấp các loại dữ liệu bộ chứa chuyên dụng. Một trong những kiểu 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'}
84, là một lớp giống như từ điển để tạo một dạng xem duy nhất cho 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'}
84, bạn có thể nhóm nhiều từ điển lại với nhau để tạo một dạng 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 chúng với nhau thà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'}
84 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'}
84 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'}
83, 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'}
84 với các từ điển mà bạn muốn xâu chuỗi, sau đó bạn có thể tự do lặp qua đối tượng kết quả như cách bạn 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'}
84 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']]]
4,
>>> # 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 và
>>> for key in a_dict:
..     print[key, '->', a_dict[key]]
...
color -> blue
fruit -> apple
pet -> dog
0 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 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'}
84, giống như cách bạn 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

>>> for key in a_dict:
..     print[key, '->', a_dict[key]]
...
color -> blue
fruit -> apple
pet -> dog
0 trên 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'}
84. Đố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'}
84 hoạt động như thể nó là một từ điển thông thường và
>>> for key in a_dict:
..     print[key, '->', a_dict[key]]
...
color -> blue
fruit -> apple
pet -> dog
0 trả về một đối tượng dạng xem từ điển có thể được lặp lại như bình thường

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

>>> # 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'}
99 của Python 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 xem cách bạn có thể sử dụng một số trong số chúng để lặp qua từ điển trong Python

Lặp lại theo chu kỳ vớ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'}
01

Giả sử bạn muốn lặp qua một từ điển trong Python, nhưng bạn cần lặp lại nó nhiều lần trong một vòng lặp. Để hoàn thành nhiệm vụ này, bạn có thể sử dụ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'}
02, điều này làm cho một trình vòng 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'}
91 và lưu một bản sao của mỗi phần tử. 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'}
91 hết,
>>> # 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'}
01 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 tuần hoàn, do đó, việc dừng chu trình là tùy thuộc vào bạn

Trong ví dụ sau, bạn sẽ lặp 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

Đoạn mã trước cho phép bạn lặp 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'}
14 một số lần nhất định [trong trường hợp này là
>>> # 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]. Chu kỳ này có thể kéo dài tùy ý bạn, nhưng bạn có trách nhiệm dừng nó lại. Đ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'}
43 phá vỡ chu kỳ khi
>>> # 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'}
09 đếm ngược về 0

Lặp lại chuỗi vớ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'}
10

>>> # 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'}
99 cũng cung cấp
>>> # 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'}
12, lấy một số
>>> # 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'}
13 làm đối số và tạo một trình lặp mang lại các phần tử từ lần lặp đầu tiên cho đến khi nó cạn kiệt, sau đó lặp lại lần lặp tiếp theo, v.v., cho đến khi tất cả chúng cạn kiệt

Điều này cho phép bạn lặp qua nhiều từ điển trong một chuỗi, giống như 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'}
82

>>>

>>> # 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 đoạn mã trê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'}
10 trả về một iterable kết hợp các mục từ
>>> # 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'}
16 và
>>> # 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'}
17

Cũng có thể 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']]]
4 hoặc
>>> 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']]]
3 tùy nhu cầu, với điều kiện phải đồ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']]]
4 để tranh luận vớ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'}
10, 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']]]
4 cho những đối số còn lại

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

Sử dụng toán tử giải nén từ điển [_______8_______23]

Trăn 3. 5 mang đến một tính năng mới và thú vị. PEP 448 - Khái quát hóa 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 qua nhiều từ điển trong Python. Hãy xem cách nó hoạt động với một ví dụ ngắn

Giả sử bạn có hai [hoặc nhiều hơn] từ điển và bạn cần lặp lại chúng với nhau mà không 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'}
82 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'}
25, 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'}
23] để hợp nhất hai từ điển thành một từ điển mới rồi lặp qua từ điể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

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'}
23] 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ừ điển mới, như bạn đã làm trong ví dụ vớ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'}
17 và
>>> # 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'}
16. 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 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ố hợp nhất có các khóa lặp lại hoặc chung, thì các giá trị của từ điển ngoài cùng 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'}
30 có mặt trong cả hai từ điển. Sau khi bạn hợp nhất chúng, giá trị
>>> # 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'}
16 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'}
30 [
>>> # 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'}
33] chiếm ưu thế, bởi vì
>>> # 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'}
16 là từ điển ngoài cùng bên phải

Phần kết luận

Bây giờ bạn đã biết những kiến ​​thức cơ bản về cách lặp qua 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 chúng
  • Những cách cơ bản để lặp qua 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 qua từ điển trong Python
  • Cách sử dụng một số kỹ thuật và chiến lược phức tạp hơn để lặp qua từ điển trong Python

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

Lấy bài kiểm tra. Kiểm tra kiến ​​thức của bạn với bài kiểm tra tương tác “Lặp từ điển Python” của chúng tôi. Sau khi hoàn thành, bạn sẽ nhận được điểm số để có thể theo dõi quá trình học tập của mình theo thời gian

Lấy bài kiểm tra "

Đánh dấu là đã hoàn thành

Xem ngay Hướng dẫn này có một khóa học video liên quan do nhóm Real Python tạo. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn. Lặp từ điển Python. Mẹo & thủ thuật nâng cao

🐍 Thủ thuật Python 💌

Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python

Gửi cho tôi thủ thuật Python »

Giới thiệu về Leodanis Pozo Ramos

Leodanis là một kỹ sư công nghiệp yêu thích Python và phát triển phần mềm. Anh ấy là một nhà phát triển Python tự học với hơn 6 năm kinh nghiệm. Anh ấy là một nhà văn đam mê kỹ thuật với số lượng bài báo được xuất bản ngày càng tăng trên Real Python và các trang web khác

» Tìm hiểu thêm về Leodanis

Mỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là

Aldren

Jim

Joanna

Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia

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

Chuyên gia Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia

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

Bạn nghĩ sao?

Đánh giá bài viết này

Tweet Chia sẻ Chia sẻ Email

Bài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?

Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi

Cách thêm khóa

Phương pháp - 4. Sử dụng phím. Cặp giá trị làm đầu vào .
# Lấy đầu vào để thêm khóa. giá trị vào từ điển hiện có theo cách chức năng
# Tạo một lớp từ điển
lớp my_dict[dict]
# hàm __init__
def __init__[bản thân]
tự = dict[]
# Chức năng thêm khóa. giá trị
thêm def [bản thân, khóa, giá trị]

Làm cách nào để thêm khóa và giá trị trong từ điển trống bằng vòng lặp for trong Python?

Chương trình Python để thêm cặp khóa-giá trị vào từ điển .
Lấy một cặp khóa-giá trị từ người dùng và lưu trữ nó trong các biến riêng biệt
Khai báo một từ điển và khởi tạo nó thành một từ điển trống
Sử dụng hàm update[] để thêm cặp khóa-giá trị vào từ điển
In từ điển cuối cùng

Làm cách nào để truy cập các giá trị từ điển trong Python bằng vòng lặp for?

Trong Python, để lặp từ điển [ dict ] bằng vòng lặp for, sử dụng các phương thức keys[] , values[] , items[]. You can also get a list of all keys and values in the dictionary with those methods and list[] . Use the following dictionary as an example. You can iterate keys by using the dictionary object directly in a for loop.

Bạn có thể sử dụng vòng lặp for trong từ điển Python không?

Bạn có thể lặp qua từ điển bằng cách sử dụng vòng lặp for . Khi lặp qua một từ điển, giá trị trả về là các khóa của từ điển, nhưng cũng có các phương thức để trả về các giá trị.

Chủ Đề