Có cách nào để làm cho map
lười biếng không? Hoặc là có một thực hiện khác của nó được xây dựng trong Python?Chức năng bản đồ lười biếng trong Python
Tôi muốn một cái gì đó như thế này để làm việc:
from itertools import count
for x in map(lambda x: x**2, count()):
print x
Tất nhiên, các mã trên sẽ không kết thúc, nhưng tôi muốn chỉ để nhập bất kỳ điều kiện (hoặc logic phức tạp hơn) bên trong for
và dừng lại ở một số điểm.
Xem ở đây: [ Biết khi nào là Lười biếng] (http://davywybiral.blogspot.com/2008/08/python-know-when-to-be-lazy.html). Trong ngắn hạn: hoặc sử dụng biểu thức máy phát điện hoặc sử dụng mô-đun itertools. –
@RobertHarvey: Liên kết đẹp. Trong thực tế, ngoài việc thực hiện 'x * 2' thay vì' x ** 2', blog hoàn toàn phù hợp với câu hỏi này! – abarnert
@RobertHarvey Bài viết rất hay. Cảm ơn bạn! –