[Python-Dev] PEP czar for PEP 3144?

Ethan Furman ethan at stoneleaf.us
Mon Mar 19 21:13:56 CET 2012


Guido van Rossum wrote:
> On Mon, Mar 19, 2012 at 12:37 PM, Ethan Furman <ethan at stoneleaf.us> wrote:
>> Nick Coghlan wrote:
>>> Collapsing the address list has to build the result list anyway to
>>> actually handle the deduplication part of its job, so returning a
>>> concrete list makes sense in that case.
>>
>> Having only one function return a list instead of an iterator seems
>> questionable.
>>
>> Depending on the code it could either keep track of what it has returned so
>> far in a set and avoid duplication that way; or, just return an
>> `iter(listobject)` instead of `listobject`.
> 
> I know I'm lacking context, but is the list ever expected to be huge?
> If not, what's wrong with always returning a list?

Nothing wrong in and of itself.  It just seems to me that if we have 
several functions that deal with ip addresses/networks/etc, and all but 
one return iterators, that one is going to be a pain... 'Which one 
returns a list again? Oh yeah, that one.'

Granted it's mostly a stylistic preference for consistency.

~Ethan~


More information about the Python-Dev mailing list