<div dir="auto"><div>Other than being able to ask len(), are there any advantages to a slightly less opaque map()? Getting the actual result of applying the function to the element is necessarily either eager or lazy, you can't have both.<br><br><div class="gmail_quote"><div dir="ltr">On Sat, Dec 1, 2018, 12:24 PM Steven D'Aprano <<a href="mailto:steve@pearwood.info">steve@pearwood.info</a> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Sat, Dec 01, 2018 at 12:06:23PM -0500, David Mertz wrote:<br>
<br>
> Given that the anti-fix is just as simple and currently available, I don't<br>
> see why we'd want a change:<br>
> <br>
> # map->sequence<br>
> mo = list(mo)<br>
> <br>
> FWIW, I actually do write exactly that code fairly often, it's not hard.<br>
<br>
Sure, but that makes a copy of the original data and means you lose the <br>
benefit of map being lazy.<br>
<br>
Naturally we will always have the ability to call list and eagerly <br>
convert to a sequence, but these proposals are for a way of getting the <br>
advantages of sequence-like behaviour while still keeping the advantages <br>
of laziness.<br>
<br>
With iterators, the only way to get that advantage of laziness is <br>
to give up the ability to query length, random access to items, etc even <br>
when the underlying data is a sequence and that information would have <br>
been readily available. We can, at least sometimes, have the best of <br>
both worlds. Maybe.<br>
<br>
<br>
-- <br>
Steve<br>
_______________________________________________<br>
Python-ideas mailing list<br>
<a href="mailto:Python-ideas@python.org" target="_blank" rel="noreferrer">Python-ideas@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-ideas" rel="noreferrer noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-ideas</a><br>
Code of Conduct: <a href="http://python.org/psf/codeofconduct/" rel="noreferrer noreferrer" target="_blank">http://python.org/psf/codeofconduct/</a><br>
</blockquote></div></div></div>