On Mon, 4 Sept 2023 at 07:44, Pierre Fortin via Python-list
wrote:
>
> Hi,
>
> reversed() results are fine until iterated over, after which the
> results are no longer available. This was discovered after using
> something like this:
>
> rev = reversed( sorted( list ) )
> sr = sum( 1 for _ in rev
On 9/1/2023 12:15 PM, Pierre Fortin via Python-list wrote:
Hi,
reversed() results are fine until iterated over, after which the
results are no longer available. This was discovered after using
something like this:
rev = reversed( sorted( list ) )
sr = sum( 1 for _ in rev )
# rev is now destroye
It is by design. `sorted` returns a list, while `reversed` returns an iterator.
Iterators are exhaust-able, and not reusable. So be mindful of this and if you
are going to "re-use” the sequence returned by iterator, convert it to list
first.
Have a look at `itertools` library, which contains a
Hi,
reversed() results are fine until iterated over, after which the
results are no longer available. This was discovered after using
something like this:
rev = reversed( sorted( list ) )
sr = sum( 1 for _ in rev )
# rev is now destroyed
So reversed() results can only be iterated once unlike so