list() strange behaviour
Barry
barry at barrys-emacs.org
Sat Jan 23 17:54:24 EST 2021
> On 23 Jan 2021, at 17:23, Avi Gross via Python-list <python-list at python.org> wrote:
>> I am wondering how hard it would be to let some generators be resettable?
That is generally thought to be a bad thing in OOD.
Classes that reset are usually a code smell and often a source of bugs.
Why not just assign a new generate into the variable that is used to access
the generator. The avoids the need for the complications of reset logic.
Barry
>> I mean if you have a generator with initial conditions that change as it
> progresses, could it cache away those initial conditions and upon some
> signal, simply reset them? Objects of many kinds can be set up with say a
> reinit() method.
>> I am not saying Python needs such a language change for generators as in
> many programs you could just recreate a new instance of a generator. But
> there may be places where by the time the generator is used, the original is
> not known. Or, there are places where you want to lengthen something to
> match another by repeatedly copying the same sequence as many times as
> needed. If a generator finishes, you want it to restart with the same
> sequence until you stop asking.
>> This is just a thought, not a request for such a feature.
>> -----Original Message-----
> From: Python-list <python-list-bounces+avigross=verizon.net at python.org> On
> Behalf Of ast
> Sent: Saturday, January 23, 2021 2:54 AM
> To: python-list at python.org
> Subject: Re: list() strange behaviour
>>> Le 20/12/2020 à 21:00, danilob a écrit :
>> b = ((x[0] for x in a))
>> There is a useless pair of parenthesis
>> b = (x[0] for x in a)
>> b is a GENERATOR expression
>> first list(b) calls next method on b repetedly until b is empty.
> So it provides the "content" of b
>> second list(b) provides nothing since b is empty (there is no reset on
> generators)
>>>>> --
> https://mail.python.org/mailman/listinfo/python-list
>> --
> https://mail.python.org/mailman/listinfo/python-list
More information about the Python-list
mailing list