+1 on (lazy) Sequence views optimized for sequential reads and random
access (which hide the dict implementation which varies across which
platforms?)

I'm somewhat indifferent on the name:

# Sequence views names:
## method() -> Sequence
- orderedkeys(), orderedvalues(), ordereditems()
- okeys(), ovalues(), oitems()
- keys(), keysordered(), values(), valuesordered(), items(), itemsordered()
  - What does this do with tab-completion?

# Get key, value, item by integer-location method names:
## method(start: int, stop: int, step: int) -> Any
- keys_iloc(), values_iloc(), items_iloc()

## __getitem__(slice_or_int: Union[slice, int]) -> Any
- keys[0], values.iloc[1:4:2], items.iloc[1:4, 2:3]
- keys_iloc[], values_iloc[], items_iloc[]
- keysiloc[], valuesiloc[], itemsiloc[]
- keys.iloc[], values.iloc[], items.iloc[]
- keypos(),

## method(index: int) -> Any:
- getkey(), getvalue(), getitem(



# Get integer-location of a key, of a value:
## method(value) -> int, method(value) ->
- index(value)
  - this is compatible with list.index and str.index but incompatible with
Series/Dataframe.index (which may or may not be irrelevant)
- orderedkeys.index(), orderedvalues.index()
- okeys.index(), ovalues.index()
- keys.ordered.index(), values.ordered.index()

- getkeypos(), getvaluepos()
- getkeyiloc(), getvalueiloc()

...

Thoughts:
- what did i miss?
- is there an opportunity to optimize performance of e.g getvaluepos() /
values.ordered.index()?
- performance considerations between islice(dict_view) and
Sequence.__getitem__?


On Fri, Jul 31, 2020 at 11:17 AM Ricky Teachey <ri...@teachey.org> wrote:

> On Fri, Jul 31, 2020 at 10:31 AM Guido van Rossum <gu...@python.org>
> wrote:
>
>> So maybe we need to add dict.ordered() which returns a view on the items
>> that is a Sequence rather than a set? Or ordereditems(), orderedkeys() and
>> orderedvalues()?
>>
>>
> I for one would be +1 on this idea.
>
> On the bike shed hew: oitems(), okeys(), and ovalues() would be much
> shorter, and shouldn't be too difficult to read once they get established
> (though i am sure many will differ on this point).
>
> ---
> Ricky.
>
> "I've never met a Kentucky man who wasn't either thinking about going home
> or actually going home." - Happy Chandler
>
>
>
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/Q3UZ6DQDSOSQYIHSQYWUUM7KTNTA3KKA/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to