Cách tạo danh sách từ điển trong Python bằng vòng lặp for

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

Show

Đế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 “Python Dictionary Iteration” 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 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 Trăn 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 Trăn 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 không gian

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

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
8 nên lặp lại các khóa. Điều này có nghĩa là nếu bạn đặt một từ điển trực tiếp vào vòng lặp
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
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ó

>>>

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

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

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
81 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
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
81

Đâ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

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
86 với từ điển và các khóa của nó để truy cập vào các giá trị

>>>

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

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

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
87) và các giá trị (
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
88) của
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
81 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 >>> dir({}) ['__class__', '__contains__', '__delattr__', .. , '__iter__', ...] 50

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

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
50, đây là phương thức trả về một mục mới trong từ điển

>>>

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

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

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
52 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

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

>>>

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

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

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
50 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

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
50 mang lại, bạn sẽ nhận thấy rằng chúng thực sự là các đối tượng của
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
56. 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

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
87 và
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
59 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,
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
87 sẽ lưu khóa và
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
59 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

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
13 và
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
14 trả về các đối tượng dạng xem giống như
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
50, 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 >>> dir({}) ['__class__', '__contains__', '__delattr__', .. , '__iter__', ...] 14

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

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
14, đâ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

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
14 ở đây đã cung cấp chế độ xem động trên các phím của
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
81. Chế độ xem này có thể được sử dụng để lặp qua các khóa của
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
81

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

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
14, bạn chỉ cần gọi
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
14 trong tiêu đề của vòng lặp
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
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

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
14 trên
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
81, bạn sẽ thấy 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
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
81

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

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
86), 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 khóa (

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
87) và giá trị (
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
88) của
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
81 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 >>> dir({}) ['__class__', '__contains__', '__delattr__', .. , '__iter__', ...] 13

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

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
13, 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
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
81

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

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
13 cũng có thể được lặp lại. Trong trường hợp này,
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
13 mang lại các giá trị của
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
81

>>>

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

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
13, bạn sẽ chỉ nhận được quyền truy cập vào các giá trị của
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
81 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

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
14 thành đố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 mang lại 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
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
14, 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

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
14 trả về một đối tượng dạng xem từ điển, mỗi lần sẽ 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,

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
50,
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
14 và
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
13 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
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
14

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

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à tuần tự tích lũy 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 ________ 650 tương đương với ________ 652

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. Trái ngược với khả năng 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ả được chèn vào một từ điển mới theo cùng thứ tự mà chúng được tạo

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 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 của Python để 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
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
56 đượ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
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
87 và
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
59, 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 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

Việc 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 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 đối số có thể lặp lại 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 của

>>> 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 bằng 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 tính 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ự đã sắp xếp

Sắp xếp theo phím

Nếu bạn cần lặp qua 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à
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
87

Đối số từ khóa

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
87 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ố

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
87 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 qua từ điển theo thứ tự được sắp xếp bằng cách sử dụng
>>> # Python 2.7. New interactive session
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
85. Hàm 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'}
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

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
13 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

Ở đâ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, sẽ xóa và trả về một cặp khóa-giá trị tùy ý từ một từ điển. Mặt khác, khi bạn gọi
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
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 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 tăng 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
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
81 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-strings, thì bạn có thể xem Python 3's f-Strings. Cú pháp định dạng chuỗi được cải thiệ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
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
81. 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 một từ điển trong Python

Giả sử bạn có một từ điển chứa giá của một loạt 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ể định nghĩa một hàm quản lý giảm giá rồi sử dụng nó làm đối số đầu tiên cho

>>> # Python 3.6 and beyond
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
7. Đối số thứ hai có thể là
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
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 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
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
56 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, 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, đây là một lớp giống như từ điển để tạo một chế độ xem duy nhất cho nhiều ánh xạ (như từ điển). Với ________ 784, 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 mình

>>>

>>> # 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
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
14,
>>> # 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à
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
50 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 do
>>> # 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ạo ra, 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

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
50 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à
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
50 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's

>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
99 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 hế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,
>>> # 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

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 (
>>> # 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 trong trường hợp này). 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 qua 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

>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
14 hoặc
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
13 tùy nhu cầu, với điều kiện là đồng nhất. nếu bạn sử dụng
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
14 cho một đối số 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
>>> dir({})
['__class__', '__contains__', '__delattr__', .. , '__iter__', ...]
14 cho phần còn lại của chúng

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

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)

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 cùng 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 “Python Dictionary Iteration” 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 lại 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

Cách tạo danh sách từ điển trong Python bằng vòng lặp for

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

Giới thiệu về Leodanis Pozo Ramos

Cách tạo danh sách từ điển trong Python bằng vòng lặp for
Cách tạo danh sách từ điển trong Python bằng vòng lặp for

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à

Cách tạo danh sách từ điển trong Python bằng vòng lặp for

Aldren

Cách tạo danh sách từ điển trong Python bằng vòng lặp for

Jim

Cách tạo danh sách từ điển trong Python bằng vòng lặp for

Joanna

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

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

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

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

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

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

Bạn nghĩ sao?

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

Tweet Chia sẻ Chia sẻ Email

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

Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. 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

Làm cách nào để tạo danh sách từ điển trong Python bằng vòng lặp for?

Từ điển Python với vòng lặp For .
Để lặp lại tất cả các mục chính tả, bạn sẽ cần trái cây. mặt hàng()
Để tạo một danh sách lặp lại mỗi phím N lần, hãy làm. [phím]*N
Vì các giá trị chính tả cho biết số lần lặp lại, hãy làm. [giá trị cốt lõi

Làm cách nào để tạo danh sách từ từ điển trong Python?

Tạo một biến để lưu trữ một từ điển đầu vào. Nhận tất cả các cặp khóa-giá trị của từ điển bằng cách sử dụng hàm items()> (trả về một nhóm các cặp khóa-giá trị trong từ điển) và chuyển đổi các mục từ điển (cặp khóa-giá trị) thành danh sách các bộ bằng cách sử dụng danh sách

Bạn có thể chạy vòng lặp cho 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ị.