On 7/10/2020 9:20 AM, Paul Moore wrote:
On Fri, 10 Jul 2020 at 13:47, Stestagg <[email protected]> wrote:

The intent of my statement was: The current implementation of dict does not 
allow any reasonable implementation of dict_keys/dict_values/dict_items with 
O(1) index behaviour.  I.e. the performance scalability of any future changes 
to the dict_* types that add direct indexing is *not* likely to be adversely 
affected by changes to the implementation of dict(), unless somehow iteration 
in O(n) time becomes impossible.
So you're saying that you'd like to be able to index
dict.keys()/dict.values()/dict.items(), but are fine with O(n)
performance.

OK,

     list(d.items())[n]

Or next(itertools.islice(d.items(), n, None))

There are multiple O(n) ways of doing this. If we're not going to require O(1), then I don't see the point of adding another ways of achieving the same thing. And I don't think we should require O(1): I wouldn't want to constrain any implementation for a niche use case.

Eric
_______________________________________________
Python-ideas mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/[email protected]/message/I3XQPP3RG6KTCR2BHBAJZMUMB7CA2NV6/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to