Danh sách hiểu Python danh sách từ điển

Khả năng hiểu danh sách là một cách thuận tiện và nhanh hơn để tạo danh sách trong Python chỉ bằng một dòng mã. Nó giúp chúng ta viết các vòng lặp for dễ đọc trong một dòng

Trong Python, từ điển là một cấu trúc dữ liệu để lưu trữ dữ liệu sao cho mỗi phần tử của dữ liệu được lưu trữ được liên kết với một khóa. Cấu trúc dữ liệu từ điển cho phép bạn truy vấn dữ liệu bằng cách sử dụng khóa rất hiệu quả

Ý tưởng hiểu không chỉ là duy nhất đối với các danh sách trong Python. Từ điển, một trong những cấu trúc dữ liệu thường được sử dụng trong khoa học dữ liệu, cũng có thể hiểu. Với khả năng hiểu chính tả hoặc hiểu từ điển, người ta có thể dễ dàng tạo từ điển

Hãy nhớ rằng, trong python, một danh sách được xác định bằng dấu ngoặc vuông [] và từ điển được xác định bằng dấu ngoặc nhọn {}. Ý tưởng được sử dụng trong hiểu danh sách cũng được chuyển sang trong việc xác định hiểu chính tả. Khả năng hiểu chính tả được xác định bằng một cú pháp tương tự, nhưng với một khóa. cặp giá trị trong biểu thức

  • {Chìa khóa. giá trị cho tôi trong danh sách}

Chúng ta hãy xem 5 ví dụ đơn giản về việc sử dụng Dict Comprehension để tạo từ điển mới một cách dễ dàng

[cập nhật. ] Đã thêm ví dụ thứ sáu về hiểu chính tả để xóa các phím trong từ điển

Dict Hiểu Ví dụ 1

Chúng ta hãy xem một ví dụ nhanh về việc tạo một cách đọc chính tả từ một danh sách các số

Ở đây, chúng ta hãy sử dụng một danh sách các số và tạo một từ điển với giá trị chuỗi của số làm khóa và số làm giá trị

# dict comprehension to create dict with numbers as values
>{str(i):i for i in [1,2,3,4,5]}
{'1': 1, '3': 3, '2': 2, '5': 5, '4': 4}

Dict Hiểu Ví dụ 2

Giả sử, chúng ta có một danh sách các loại trái cây và chúng ta có thể sử dụng tính năng đọc chính tả để tạo một từ điển với các loại trái cây, liệt kê các phần tử làm khóa và độ dài của mỗi chuỗi làm giá trị

# create list of fruits
>fruits = ['apple', 'mango', 'banana','cherry']
# dict comprehension to create dict with fruit name as keys
>{f:len(f) for f in fruits}
{'cherry': 6, 'mango': 5, 'apple': 5, 'banana': 6}

Dict Hiểu Ví dụ 3

Hãy để chúng tôi tạo một từ điển có khả năng hiểu chính tả sao cho các phần tử của danh sách là khóa và các phần tử có chữ cái đầu tiên được viết hoa là giá trị

>{f:f.capitalize() for f in fruits}
{'cherry': 'Cherry', 'mango': 'Mango', 'apple': 'Apple', 'banana': 'Banana'}

Dict Hiểu Ví dụ 4

Hãy để chúng tôi sử dụng chức năng liệt kê trong việc hiểu từ điển. Nếu bạn chưa sử dụng liệt kê. liệt kê có thể lấy bất kỳ thứ gì có thể lặp lại làm đầu vào và trả về phần tử và chỉ mục của nó

Ở đây, chúng tôi sử dụng hàm liệt kê trên danh sách để tạo các bộ dữ liệu phần tử chỉ mục và danh sách và sử dụng chúng để tạo một từ điển có khả năng hiểu chính tả. Chúng tôi tạo một từ điển với các phần tử của danh sách làm khóa và chỉ mục của các phần tử làm giá trị. Những từ điển có chỉ mục phần tử như vậy thường hữu ích trong nhiều tình huống khác nhau

# dict comprehension example using enumerate function
>{f:i for i,f in enumerate(fruits)}
{'cherry': 3, 'mango': 1, 'apple': 0, 'banana': 2}

Dict Hiểu Ví dụ 5

Một cách sử dụng khác của hiểu chính tả là đảo ngược phím. giá trị trong một từ điển hiện có. Đôi khi bạn có thể muốn tạo từ điển mới từ một thư mục hiện có, chẳng hạn như vai trò của khóa. cặp giá trị trong từ điển đầu tiên được đảo ngược trong từ điển mới. Chúng ta có thể sử dụng Dict Comprehension và lật phần tử để lập chỉ mục từ điển để lập chỉ mục cho từ điển phần tử

# dict comprehension example to reverse key:value pair in a dictionary
>f_dict = {f:i for i,f in enumerate(fruits)}
>f_dict
{'apple': 0, 'banana': 2, 'cherry': 3, 'mango': 1}
# dict comprehension to reverse key:value pair in a dictionary
>{v:k for k,v in f_dict.items()}
{0: 'apple', 1: 'mango', 2: 'banana', 3: 'cherry'}

Chúng tôi đã sử dụng chức năng mục của từ điển để lấy các cặp khóa, giá trị trong một từ điển hiện có và tạo một từ điển mới trong đó các khóa trong từ điển gốc là các giá trị trong từ điển mới và ngược lại


Đọc chính tả Ví dụ 6. Làm cách nào để xóa các khóa đã chọn khỏi từ điển bằng tính năng đọc chính tả?

Giả sử bạn có từ điển và muốn tạo từ điển mới bằng cách xóa cặp khóa-giá trị nhất định. Chúng ta có thể sử dụng Dict Comprehension để xóa các cặp khóa-giá trị đã chọn khỏi từ điển và tạo từ điển mới

Hãy để chúng tôi sử dụng từ điển "trái cây" mà chúng tôi đã tạo ở trên

fruits = ['apple', 'mango', 'banana','cherry']
f_d1 ={f:f.capitalize() for f in fruits}
f_d1

Hãy để chúng tôi sử dụng khả năng hiểu từ điển để loại bỏ hai khóa, quả táo và quả chuối, và các giá trị của chúng khỏi từ điển trái cây

# keys to be removed
>remove_this = {'apple','cherry'}
# dict comprehension example to delete key:value pairs in a dictionary
>{key:f_d1[key] for key in f_d1.keys() - remove_this}
{'banana': 'Banana', 'mango': 'Mango'}

Chúng tôi đã loại bỏ các phím, quả táo và quả anh đào, chỉ bằng cách sử dụng đối tượng phím dict với các thao tác đã thiết lập và bây giờ từ điển mới chỉ chứa chuối và xoài

Làm cách nào để tạo danh sách từ điển trong Python bằng cách sử dụng khả năng hiểu danh sách?

Phương pháp 1. Sử dụng phương thức dict() . Ở đâ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.

Khả năng hiểu danh sách có hoạt động đối với từ điển trong Python không?

Trong Python, hiểu từ điển rất giống với hiểu danh sách – chỉ dành cho từ điển . Chúng cung cấp một phương pháp tao nhã để tạo từ điển từ một từ điển có thể lặp lại hoặc chuyển đổi từ điển này sang từ điển khác.

Bạn có thể có một danh sách các từ điển trong Python không?

Chúng ta có thể tạo danh sách từ điển bằng cách thêm các phần tử của từ điển vào danh sách . Chúng ta cũng có thể truy cập các cặp giá trị khóa của từ điển bằng cách sử dụng chỉ mục của danh sách. Chúng ta cũng có thể thêm các phần tử vào danh sách từ điển bằng cách sử dụng chỉ mục của danh sách và đưa ra một khóa.

Hiểu danh sách khác với hiểu từ điển như thế nào?

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.