[New-bugs-announce] [issue18032] set methods should specify whether they consume iterators "lazily"
report at bugs.python.org
Wed May 22 13:58:43 CEST 2013
New submission from Abafei:
It says here (http://docs.python.org/2/library/stdtypes.html#set-types-set-frozenset) that some of the set methods take iterables as a parameter.
Usually, the expected behavior is for a iterator consumer to consume only as much data as it needs. For example, for the code `any(itertools.repeat(True))`, the code will complete speedily, in contrast to when all() is used instead of any(), in which case the code will go forever.
A least some of the set methods have semantics such that they can consume only some of the input; for example, "issubset" only needs to make sure that all of the items in the set are in the iterable, and once this is the case, it can return "True".
However in such a case, the methods will *still* go forever.
The docs should specify that this is the case, to disambiguate the semantics.
(Tested on Python 3.2.3 and 2.7.3).
assignee: docs at python
nosy: Abafei, docs at python
title: set methods should specify whether they consume iterators "lazily"
versions: Python 2.7, Python 3.2
Python tracker <report at bugs.python.org>
More information about the New-bugs-announce