Danh sách hiểu chính tả của Python dưới dạng giá trị

Tìm hiểu tất cả về cách hiểu từ điển Python, bao gồm cách tạo từ điển, sử dụng điều kiện [câu lệnh if-else] và cách lồng ghép cách hiểu với các bước và ví dụ dễ thực hiện

Từ điển hiểu tương tự như Danh sách hiểu Python. Nếu bạn cũng muốn tìm hiểu về những điều đó, hãy xem hướng dẫn của chúng tôi tại đây

Mục lục

Từ điển [dicts] trong Python là gì?

Từ điển [hoặc, dicts] trong Python là tập hợp các mục không có thứ tự. Các kiểu dữ liệu phức hợp khác [chẳng hạn như danh sách hoặc bộ dữ liệu] chỉ có giá trị dưới dạng phần tử, từ điển có khóa. cặp giá trị như là phần tử của nó

Từ điển cho phép bạn dễ dàng truy xuất các giá trị khi bạn biết khóa

Nếu bạn muốn tìm hiểu mọi thứ bạn cần biết về từ điển trong Python, hãy xem hướng dẫn toàn diện của Real Python về từ điển

Làm thế nào để bạn tạo một từ điển Python?

Tất cả những gì bạn cần làm để tạo từ điển trong Python là đặt các mục vào dấu ngoặc nhọn, cách nhau bằng dấu phẩy

Hãy tạo từ điển cho cuốn sách Harry Potter và Hòn đá phù thủy

hp = {
    'title': "Harry Potter and the Philosopher's Stone",
    'author': "J.K. Rowling",
    'publication': '1988-06-26'
}

Làm cách nào để truy cập các phần tử từ từ điển Python?

Thay vì sử dụng lập chỉ mục như các loại vùng chứa khác, từ điển sử dụng các khóa. Các phím có thể được sử dụng bên trong dấu ngoặc vuông hoặc sử dụng phương thức get[]

Phương thức get[] trả về Không thay vì KeyError khi không tìm thấy khóa

print[hp['title']]
#Output: Harry Potter and the Philosopher's Stone

print[hp.get['publication']]
#Output: 1988-06-26

Hiểu từ điển Python là gì?

Khả năng hiểu từ điển Python là cách ngắn gọn để tạo từ điển mà không cần sử dụng vòng lặp for

Nếu bạn muốn tìm hiểu thêm về For Loops trong Python, hãy xem hướng dẫn đầy đủ của chúng tôi

Chúng tương tự như cách hiểu danh sách trong Python. Tuy nhiên, thay vì tạo danh sách, họ tạo từ điển

Tại sao nên sử dụng tính năng hiểu chính tả của Python?

Việc hiểu từ điển thường ngắn gọn và dễ đọc hơn là viết các vòng lặp for phức tạp để đạt được điều tương tự

Mọi cách hiểu từ điển đều có thể được viết dưới dạng vòng lặp for [nhưng không phải mọi vòng lặp for đều có thể được viết dưới dạng cách hiểu từ điển

Tuy nhiên, các vòng lặp for dài và có thể khó theo dõi

Bởi vì chúng có xu hướng ngắn hơn một chút so với các vòng lặp for, nên khả năng hiểu làm cho mã trở nên Pythonic hơn

Khả năng hiểu chính tả trong Python nhằm mục đích làm cho mã dễ đọc hơn, trong khi không yêu cầu bạn viết một vòng lặp for rõ ràng

Làm thế nào để bạn viết một cách hiểu từ điển bằng Python?

Tương tự như cách hiểu danh sách trong Python, cách hiểu từ điển tuân theo mẫu bên dưới

Hãy khám phá điều này chi tiết hơn một chút

  • Chìa khóa. giá trị đề cập đến cặp giá trị chính mà bạn muốn tạo
  • Khóa và giá trị không nhất thiết phải khác nhau và có thể tham chiếu đến cùng một giá trị
  • vars đề cập đến biến trong iterable
  • iterable đề cập đến bất kỳ đối tượng python nào mà bạn có thể lặp lại [chẳng hạn như danh sách, bộ dữ liệu hoặc chuỗi]

Hãy thử một ví dụ đơn giản

Ví dụ hiểu từ điển. Tạo bình phương của số

Hãy tưởng tượng bạn được giao nhiệm vụ tạo một từ điển cho các số từ 1 đến 5, trong đó

  • Chìa khóa là số ban đầu, và
  • Giá trị là số ban đầu bình phương

Chúng ta có thể viết đoạn mã sau

squares = {i:i**2 for i in [1,2,3,4,5]}
print[squares]

Điều này trả về từ điển sau

{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

Ví dụ hiểu từ điển. Đổi từ Kilôgam sang Pounds

Hãy tưởng tượng chúng tôi có một từ điển chứa trọng lượng cho các mặt hàng tính bằng kilôgam và chúng tôi muốn chuyển đổi các trọng lượng đó thành pound

old_weights = {
    'book': 0.5,
    'milk': 2.0,
    'tv': 7.0
}
new_weights = {key: value*2.2 for [key, value] in old_weights.items[]}
print[new_weights]

Điều này trả về đầu ra sau

{'book': 1.1, 'milk': 4.4, 'tv': 15.4}

Kiểm tra một số hướng dẫn Python khác về dữ liệu, bao gồm hướng dẫn đầy đủ về Bảng xoay Pandas của chúng tôi và Hướng dẫn cơ bản về SQLite3 trong Python của chúng tôi

Làm cách nào để bạn thêm điều kiện [câu lệnh if-else] vào phần hiểu từ điển Python?

Trong hầu hết các đoạn mã, các điều kiện được sử dụng làm giải pháp cho các vấn đề. Khả năng hiểu từ điển Python thậm chí còn trở nên mạnh mẽ hơn khi chúng ta thêm điều kiện vào chúng, chẳng hạn như câu lệnh if và if-else

Thêm câu lệnh IF vào phần hiểu chính tả của Python

Nếu chúng tôi có một từ điển bao gồm các cặp khóa-giá trị, chẳng hạn như người và tuổi của họ, thì chúng tôi có thể lọc từ điển để chỉ bao gồm những người trên 25 tuổi

ages = {
    'kevin': 12,
    'marcus': 9,
    'evan': 31,
    'nik': 31
}
new_ages = {key:value for [key, value] in ages.items[] if value > 25}
print[new_ages]

Điều này trả về

{'evan': 31, 'nik': 31}

Hãy xem nó được viết như thế nào

________số 8

Câu lệnh IF theo sau mục iterable

Thêm nhiều câu lệnh IF

Nếu chúng ta muốn thêm nhiều câu lệnh if [tương tự như câu lệnh if lồng nhau trong vòng lặp for], chúng ta chỉ cần xâu chuỗi chúng lại với nhau

Ví dụ: nếu chúng tôi muốn lọc danh sách độ tuổi của mình để chỉ bao gồm những người dưới 25 tuổi và có độ tuổi chẵn [trong đó mô đun tuổi 2 trả về 0], chúng tôi có thể viết

ages = {
    'kevin': 12,
    'marcus': 9,
    'evan': 31,
    'nik': 31
}
younger = {key:value for [key, value] in ages.items[] if value < 25 if value % 2 == 0}
print[younger]

Điều này trả về như sau

print[hp['title']]
#Output: Harry Potter and the Philosopher's Stone

print[hp.get['publication']]
#Output: 1988-06-26
0

Nếu chúng ta muốn xâu chuỗi thêm các câu lệnh if, chúng ta chỉ cần viết chúng theo thứ tự

Mẹo. Xâu chuỗi câu lệnh if cũng giống như tạo câu lệnh AND

Hiểu từ điển Python nếu khác

Sử dụng câu lệnh IF-ELSE có thể làm cho khả năng hiểu từ điển trở nên mạnh mẽ hơn. Sử dụng ví dụ trước của chúng tôi, nếu chúng tôi muốn gắn nhãn tuổi là chẵn hoặc lẻ, chúng tôi có thể viết như sau

print[hp['title']]
#Output: Harry Potter and the Philosopher's Stone

print[hp.get['publication']]
#Output: 1988-06-26
1

Điều này trả về như sau

print[hp['title']]
#Output: Harry Potter and the Philosopher's Stone

print[hp.get['publication']]
#Output: 1988-06-26
2

Cấu trúc ở đây hơi khác một chút. Câu lệnh IF-ELSE được áp dụng trực tiếp cho giá trị và được đặt trong ngoặc đơn. Nó được sử dụng để chuyển đổi một giá trị, thay vì xóa một cặp khóa-giá trị, trong trường hợp này

Hiểu từ điển lồng nhau trong Python

Giá trị trong khóa. Cặp giá trị cũng có thể là một cách hiểu từ điển khác

Giả sử chúng ta muốn có một từ điển chứa các khóa có giá trị từ 1 đến 5 và mỗi giá trị là một từ điển khác chứa khóa nhân với các khoảng 10 từ 10 đến 50

Điều này có thể được thực hiện bằng cách viết như sau

print[hp['title']]
#Output: Harry Potter and the Philosopher's Stone

print[hp.get['publication']]
#Output: 1988-06-26
3

Điều này trả về như sau

print[hp['title']]
#Output: Harry Potter and the Philosopher's Stone

print[hp.get['publication']]
#Output: 1988-06-26
4

Việc hiểu từ điển lồng nhau có thể khó hiểu, vì vậy đừng lo lắng nếu bạn không làm theo đầy đủ ví dụ này

Điều quan trọng cần lưu ý là để hiểu từ điển lồng nhau, Python bắt đầu với vòng lặp bên ngoài và sau đó di chuyển [mỗi mục] vào vòng lặp bên trong

Làm thế nào để bạn sử dụng chức năng liệt kê với việc hiểu từ điển Python?

Hàm liệt kê Python rất hữu ích để xác định chỉ mục của một mục trong danh sách, bộ hoặc chuỗi

Điều này đặc biệt hữu ích khi kết hợp với khả năng hiểu từ điển, vì bạn có thể tạo một từ điển xác định chỉ mục hoặc một mục cụ thể

Hãy thử điều này với một ví dụ. Chúng tôi sẽ tạo một danh sách các mục và có thể tạo một từ điển xác định chỉ mục của từng mục

Ví dụ hiểu từ điển. Sử dụng hàm Enumerate

print[hp['title']]
#Output: Harry Potter and the Philosopher's Stone

print[hp.get['publication']]
#Output: 1988-06-26
5

Điều này trả về như sau

print[hp['title']]
#Output: Harry Potter and the Philosopher's Stone

print[hp.get['publication']]
#Output: 1988-06-26
6

Điều này đặc biệt hữu ích nếu chúng ta muốn biết chỉ mục của một mục. Chúng ta có thể chỉ cần sử dụng phương thức get[] mà chúng ta đã học trước đó để truy xuất chỉ mục

Nếu chúng ta muốn lật chìa khóa. cặp giá trị xung quanh, để số chỉ mục là đầu tiên, chúng ta có thể viết

print[hp['title']]
#Output: Harry Potter and the Philosopher's Stone

print[hp.get['publication']]
#Output: 1988-06-26
7

Cái nào trả về sau

print[hp['title']]
#Output: Harry Potter and the Philosopher's Stone

print[hp.get['publication']]
#Output: 1988-06-26
8

Ví dụ về cách hiểu từ điển Python

Trích xuất một tập hợp con của từ điển

Nếu bạn muốn trích xuất một tập hợp con của khóa từ điển. cặp giá trị từ một từ điển lớn hơn, điều này có thể thực hiện được với khả năng hiểu từ điển

Hãy xem một ví dụ. Trong đoạn mã dưới đây, chúng tôi muốn trích xuất a, b, c từ từ điển lớn hơn

print[hp['title']]
#Output: Harry Potter and the Philosopher's Stone

print[hp.get['publication']]
#Output: 1988-06-26
9

Điều này trả về như sau

squares = {i:i**2 for i in [1,2,3,4,5]}
print[squares]
0

Xóa các mục cho từ điển

Chúng tôi cũng sử dụng khả năng hiểu từ điển để xóa các mục khỏi từ điển. Giả sử chúng tôi có một từ điển bao gồm độ tuổi của mọi người và chúng tôi muốn xóa hai người cụ thể

squares = {i:i**2 for i in [1,2,3,4,5]}
print[squares]
1

Điều này trả về như sau

squares = {i:i**2 for i in [1,2,3,4,5]}
print[squares]
2

Phím đảo ngược. Giá trị trong từ điển

Chúng ta có thể sử dụng khả năng hiểu từ điển để đảo ngược khóa. mục giá trị của một từ điển. Hãy nhìn vào đoạn mã dưới đây

squares = {i:i**2 for i in [1,2,3,4,5]}
print[squares]
3

Hãy sử dụng một ví dụ để chứng minh điều này

squares = {i:i**2 for i in [1,2,3,4,5]}
print[squares]
4

Điều này trả về như sau

squares = {i:i**2 for i in [1,2,3,4,5]}
print[squares]
5

Cảnh báo với phần hiểu từ điển Python

Khả năng hiểu từ điển rất Pythonic trong cách chúng viết, nhưng cũng có thể phức tạp hơn nhiều để đọc so với các vòng lặp for. Có thể tốt hơn nếu viết một vòng lặp for dài hơn để giúp mã dễ theo dõi hơn là đặt tất cả trên một dòng

Hãy nhớ rằng, khả năng đọc trong tương lai là quan trọng

Phần kết luận

Xin chúc mừng. Bây giờ bạn đã biết mọi thứ bạn cần biết về cách hiểu từ điển Python. Trong bài đăng này, bạn đã học từ điển là gì, cách viết phần hiểu từ điển, thêm điều kiện, cách hiểu lồng nhau và trình bày một số ví dụ

Bạn có thể sử dụng khả năng hiểu danh sách trên từ điển Python không?

Hiểu là một cách tao nhã để xây dựng danh sách hoặc từ điển trong Python . Nó cho phép chúng tôi lặp qua dữ liệu hiện có và lọc nó để tạo danh sách hoặc từ điển hoặc thậm chí chúng tôi có thể lặp qua một chuỗi mà chúng tôi tạo và tạo danh sách hoặc từ điển từ chuỗi đó.

Chúng ta có thể sử dụng hiểu danh sách trong từ điển?

Sử dụng phương thức dict[] chúng ta có thể chuyển đổi cách hiểu danh sách thành từ điển . Ở đây chúng ta sẽ chuyển list_comprehension giống như một danh sách các giá trị bộ sao cho giá trị đầu tiên đóng vai trò là khóa trong từ điển và giá trị thứ hai đóng vai trò là giá trị trong từ điển.

Làm cách nào để lấy các giá trị từ điển dưới dạng danh sách trong Python?

Dưới đây là 3 cách tiếp cận để trích xuất các giá trị từ điển dưới dạng danh sách trong Python. .
[1] Sử dụng hàm list[]. my_list = danh sách [my_dict. giá trị[]]
[2] Sử dụng cách hiểu danh sách. my_list = [i cho tôi trong my_dict. giá trị[]]
[3] Sử dụng vòng lặp For. my_list = [] cho tôi trong my_dict. giá trị[]. danh sách của tôi. nối thêm [i]

Sự khác biệt giữa hiểu danh sách và hiểu chính tả trong Python là gì?

Về cơ bản, điểm khác biệt duy nhất giữa phần này và phần hiểu danh sách là việc sử dụng dấu ngoặc nhọn để chứa phần hiểu và vị trí của x trước dấu hai chấm để biểu thị rằng phần này đại diện cho khóa . Điều này sau đó cũng có thể được sử dụng để tạo từ điển dựa trên danh sách đã có. . This can be then also be used to create a dictionary based on an already existing list.

Chủ Đề