[issue43450] List amnesia

2021-03-09 Thread Christian Heimes


Christian Heimes  added the comment:

Florian's answer is correct. Thanks!

--
nosy: +christian.heimes
resolution:  -> not a bug
stage:  -> resolved
status: open -> closed
type:  -> behavior

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43450] List amnesia

2021-03-09 Thread Florian Bruhin


Florian Bruhin  added the comment:

This is not a bug. itertools.product returns an iterator: 
https://docs.python.org/3/glossary.html#term-iterator

Quoting from there:

> [...] every iterator is also iterable and may be used in most places where 
> other iterables are accepted. One notable exception is code which attempts 
> multiple iteration passes. A container object (such as a list) produces a 
> fresh new iterator each time you pass it to the iter() function or use it in 
> a for loop. Attempting this with an iterator will just return the same 
> exhausted iterator object used in the previous iteration pass, making it 
> appear like an empty container.

--
nosy: +The Compiler

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43450] List amnesia

2021-03-09 Thread Márcio Mocellin

New submission from Márcio Mocellin :

In Python 3.6.8 (default, Apr 16 2020, 01:36:27) [GCC 8.3.1 20191121 (Red Hat 
8.3.1-5)] on linux, when I materialize the list, it is shown and is deleted. 
Shouldn't the list persist in memory? Is this a bug or is it really?

```python
>>> vet_neg
['EH01', 'EH02', 'EH03']
Categories (3, object): ['EH01', 'EH02', 'EH03']
>>> cenarios
[0, 1]
>>> vet_neg_cenarios = itertools.product(vet_neg, cenarios, cenarios)
>>> vet_neg_cenarios

>>> list(vet_neg_cenarios)
[('EH01', 0, 0), ('EH01', 0, 1), ('EH01', 1, 0), ('EH01', 1, 1), ('EH02', 0, 
0), ('EH02', 0, 1), ('EH02', 1, 0), ('EH02', 1, 1), ('EH03', 0, 0), ('EH03', 0, 
1), ('EH03', 1, 0), ('EH03', 1, 1)]
>>> list(vet_neg_cenarios)
[]
>>> 
```

--
messages: 388372
nosy: marciomocellin
priority: normal
severity: normal
status: open
title: List amnesia
versions: Python 3.6

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com