Giả sử rằng tôi có một danh sách với số lượng lớn các mục.
l = [ 1, 4, 6, 30, 2, ... ]
Tôi muốn lấy số mục từ danh sách đó, trong đó một mục phải thỏa mãn điều kiện nhất định. Suy nghĩ đầu tiên của tôi là:
count = len([i for i in l if my_condition(l)])
Nhưng nếu danh sách được lọc my_condition () cũng có số lượng lớn các mục, tôi nghĩ rằng việc tạo danh sách mới cho kết quả được lọc chỉ lãng phí bộ nhớ. Đối với hiệu quả, IMHO, cuộc gọi trên không thể tốt hơn:
count = 0
for i in l:
if my_condition(l):
count += 1
Có cách nào theo kiểu chức năng để đạt được # mục thỏa mãn điều kiện nhất định mà không tạo danh sách tạm thời không?
Cảm ơn trước.