Related:
https://stackoverflow.com/questions/57194152/is-python-list-extenditerator-guaranteed-to-be-lazy

It seems they are indeed not equivalent, despite what is claimed in the
documentation.

Le 10/06/2021 à 10:20, 'Martin R' via sage-devel a écrit :
> Thank you for the pointer, but of course I looked it up before posting.  It 
> says
> 
> list.extend(*iterable*) 
> 
> Extend the list by appending all the items from the iterable. Equivalent to 
> a[len(a):] = iterable.
> However, this description is simply not true:
> 
> sage: l = []; l[len(l):] = (f(n) for n in range(3))
> 0
> 0
> 0
> 
> dim...@gmail.com schrieb am Donnerstag, 10. Juni 2021 um 10:10:12 UTC+2:
> 
>>
>>
>> On Thu, 10 Jun 2021, 08:54 'Martin R' via sage-devel, <
>> sage-...@googlegroups.com> wrote:
>>
>>> While working on https://trac.sagemath.org/ticket/31897 Tejasvi (gsoc21) 
>>> and I stumbled across the following python behaviour:
>>>
>>> sage: def f(n):
>>> ....:     print(len(l))
>>> ....:     
>>> sage: l = []; l.extend(f(n) for n in range(3))
>>> 0
>>> 1
>>> 2
>>> sage: l = []; l.extend([f(n) for n in range(3)])
>>> 0
>>> 0
>>> 0
>>>
>>> Is this behaviour we can rely on?  I could not find in the python doc, in 
>>> any case.
>>>
>>
>> see https://docs.python.org/3/tutorial/datastructures.html
>>
>>>
>>> Martin
>>>
>>> -- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "sage-devel" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to sage-devel+...@googlegroups.com.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/sage-devel/53c97d28-fc5e-43ee-9371-bf8d2b646554n%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/sage-devel/53c97d28-fc5e-43ee-9371-bf8d2b646554n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>
> 

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/d0cb53fe-bdc3-d8f7-9543-a969bf5ce6b8%40uca.fr.

Reply via email to