Skip to content
TechJunior
Menu
  • Đổi mới giáo dục
  • Nuôi dạy con cái
  • Công nghệ và đời sống
  • Thuật ngữ Lập trình
Menu

📢 LIST COMPREHENSION – BÍ KÍP VIẾT CODE PYTHON GỌN HƠN, CHẠY NHANH HƠN! 🚀🐍

Posted on March 12, 2025

Nếu bạn đã từng viết vòng lặp trong Python để tạo danh sách, chắc hẳn bạn sẽ thích thú với List Comprehension – một cách viết ngắn gọn và tối ưu hơn rất nhiều! Hôm nay, hãy cùng khám phá công cụ mạnh mẽ này nhé! 🔥


🔎 1. List Comprehension là gì?

List Comprehension là một cách viết rút gọn giúp bạn tạo danh sách mới từ danh sách có sẵn hoặc từ một vòng lặp, với cú pháp đơn giản và dễ đọc hơn so với cách thông thường.

🔹 Cú pháp cơ bản:

[biểu_thức for biến in danh_sách if điều_kiện]

Trong đó:

  • biểu_thức là giá trị được thêm vào danh sách mới.
  • for biến in danh_sách là vòng lặp để duyệt qua danh sách gốc.
  • if điều_kiện (tùy chọn) giúp lọc các phần tử theo điều kiện nhất định.

🛠 2. Vì sao nên dùng List Comprehension?

✅ Viết code ngắn gọn hơn – Giúp tiết kiệm thời gian và dễ đọc hơn.
✅ Chạy nhanh hơn – Hiệu suất tốt hơn so với vòng lặp thông thường.
✅ Tạo danh sách linh hoạt – Dễ dàng thêm điều kiện lọc hoặc xử lý dữ liệu.


🔥 3. Ứng dụng của List Comprehension

✨ 3.1. Tạo danh sách mới từ danh sách có sẵn

Thay vì dùng vòng lặp để tạo danh sách mới, bạn có thể làm điều đó chỉ với một dòng code!

# Tạo danh sách các số từ 1 đến 10
numbers = [x for x in range(1, 11)]
print(numbers)  
# Kết quả: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

🔍 3.2. Áp dụng điều kiện lọc danh sách

Bạn có thể lọc các phần tử trong danh sách bằng cách thêm điều kiện if.

# Lọc các số chẵn từ danh sách
even_numbers = [x for x in range(1, 11) if x % 2 == 0]
print(even_numbers)  
# Kết quả: [2, 4, 6, 8, 10]

🎯 3.3. Chuyển đổi dữ liệu trong danh sách

Bạn có thể thay đổi giá trị của các phần tử khi thêm vào danh sách mới.

# Bình phương các số từ 1 đến 10
squares = [x**2 for x in range(1, 11)]
print(squares)  
# Kết quả: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

🛠 3.4. Làm việc với chuỗi ký tự

Bạn cũng có thể áp dụng List Comprehension để xử lý chuỗi.

# Lấy danh sách các chữ cái viết hoa trong chuỗi
text = "Hello Python"
uppercase_letters = [char for char in text if char.isupper()]
print(uppercase_letters)  
# Kết quả: ['H', 'P']

🏆 3.5. Dùng List Comprehension với nhiều vòng lặp (Nested Loops)

Bạn có thể lồng nhiều vòng lặp để tạo danh sách từ nhiều danh sách con.

# Tạo danh sách chứa tất cả cặp (x, y) từ hai danh sách
pairs = [(x, y) for x in range(1, 4) for y in range(5, 8)]
print(pairs)  
# Kết quả: [(1, 5), (1, 6), (1, 7), (2, 5), (2, 6), (2, 7), (3, 5), (3, 6), (3, 7)]

🎯 4. Khi nào KHÔNG nên dùng List Comprehension?

Dù List Comprehension rất tiện lợi, nhưng không phải lúc nào cũng nên sử dụng. Hãy tránh dùng khi:
❌ Biểu thức quá phức tạp – Nếu quá nhiều điều kiện hoặc vòng lặp lồng nhau, code sẽ khó đọc.
❌ Làm thay đổi trạng thái bên ngoài – Nếu bạn cần cập nhật biến bên ngoài hoặc thao tác với file, hãy dùng vòng lặp thông thường.

Ví dụ, nếu List Comprehension quá dài và khó hiểu, bạn nên tách ra viết bằng vòng lặp để dễ đọc hơn.

# Cách không nên dùng - quá phức tạp!
result = [x**2 for x in range(1, 11) if x % 2 == 0 if x > 4]

Nên viết lại bằng vòng lặp để dễ hiểu hơn:

result = []
for x in range(1, 11):
    if x % 2 == 0 and x > 4:
        result.append(x**2)

💡 5. Tổng kết

🔹 List Comprehension giúp viết code ngắn gọn, dễ đọc và hiệu quả hơn.
🔹 Bạn có thể sử dụng nó để tạo danh sách, lọc dữ liệu và chuyển đổi dữ liệu một cách nhanh chóng.
🔹 Tuy nhiên, đừng lạm dụng khi logic quá phức tạp, hãy luôn đảm bảo code dễ hiểu.

Bạn đã sử dụng List Comprehension chưa? Hãy thử ngay và chia sẻ cảm nhận của bạn nhé! ⬇️💬

#Python #LapTrinhPython #ListComprehension #CodeGonGang #PythonTips

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • 🔥 Danh Sách Liên Kết Trong C – Hướng Dẫn Toàn Diện Từ Cơ Bản Đến Nâng Cao! 🔥
  • 🔥 Con trỏ trong C – Từ Cơ Bản Đến Nâng Cao🔥
  • XU HƯỚNG NỔI BẬT TRONG ỨNG DỤNG TRÍ TUỆ NHÂN TẠO (AI) TRONG DỊCH THUẬT
  • 10 công cụ AI tốt nhất cho giáo viên trong 2025
  • Unitree G1 – Robot Hình Người Đầu Tiên Có Thể “Bật Tôm”! 🤖🔥

Categories

  • Uncategorized
©2025 TechJunior | Design: Newspaperly WordPress Theme