Bảng tóm tắt hiểu biết về Python

Viết các phần hiểu ngắn gọn và dễ đọc về danh sách, từ điển, tập hợp và trình tạo bằng Python.

Liệt kê và đặt hiểu

Tạo trình tự và bộ nội tuyến bằng cách sử dụng vòng lặp cú pháp.

Phương thức/Chức năngCú phápMô tả
List Comprehension[x * 2 for x in my_list]Xây dựng một danh sách mới bằng cách áp dụng các biểu thức trên các phần tử của một iterable.
Conditional List[x for x in my_list if x > 0]Áp dụng một vị từ bộ lọc, chỉ giữ lại các phần tử thỏa mãn điều kiện.
Nested Loops[x + y for x in list1 for y in list2]Làm phẳng các hoạt động lồng nhau. Chạy các vòng lặp bên trong cho mỗi lần lặp vòng lặp bên ngoài.
Set Comprehension{x for x in my_list}Tạo một tập hợp, tự động áp dụng tính năng loại bỏ trùng lặp.

Hiểu từ điển và trình tạo

Tạo ánh xạ và luồng đánh giá lười biếng nội tuyến.

Phương thức/Chức năngCú phápMô tả
Dict Comprehension{k: v for k, v in pairs}Xây dựng một từ điển nội tuyến.
Conditional Dict{k: v for k, v in pairs if k is not None}Xây dựng một từ điển trong khi bỏ qua các giá trị không mong muốn.
Generator Expression(x ** 2 for x in range(10))Trả về một đối tượng iterator của trình tạo lười biếng. Đánh giá từng mục một để tiết kiệm bộ nhớ.

Tập lệnh demo tương tác

run_all_cheat_methods.py
Chạy trong Trình chỉnh sửa
# List Comprehension
[x * 2 for x in my_list]

# Conditional List
[x for x in my_list if x > 0]

# Nested Loops
[x + y for x in list1 for y in list2]

# Set Comprehension
{x for x in my_list}

# Dict Comprehension
{k: v for k, v in pairs}

# Conditional Dict
{k: v for k, v in pairs if k is not None}

# Generator Expression
(x ** 2 for x in range(10))

Câu hỏi thường gặp

Khi nào tôi nên tránh sử dụng tính năng hiểu danh sách?

Tránh hiểu danh sách nếu chúng quá phức tạp hoặc có nhiều vòng lặp lồng nhau, vì điều này làm giảm khả năng đọc mã.

Sự khác biệt giữa hiểu danh sách và biểu thức trình tạo là gì?

Khả năng hiểu danh sách sẽ đánh giá ngay lập tức và xây dựng danh sách trong bộ nhớ, trong khi các biểu thức của trình tạo mang lại các mục theo yêu cầu một cách lười biếng, tiết kiệm bộ nhớ.

Chủ đề liên quan

Tài nguyên Python được đề xuất

Mở rộng kiến thức của bạn với các hướng dẫn tương tác, bảng ghi chú và so sánh mã có liên quan.