Cú pháp gọn để dựng collection mới bằng transform + filter trong một biểu thức:
python
[x*x for x in nums if x > 0] # list
{k: v for k, v in pairs} # dict
{x % 3 for x in nums} # set
(x*x for x in nums) # generator (lazy)Dùng khi map/filter một iterable — ngắn và thường nhanh hơn vòng for + append. Không nên dùng khi logic nhiều nhánh, lồng sâu, hay có side-effect → vòng for dễ đọc hơn.
Nếu chỉ cần duyệt một lần và muốn tiết kiệm bộ nhớ, chọn generator expression (...) thay vì tạo hẳn list.