Are you suggesting that dict views would become subscriptable? In [3]: %doctest_mode Exception reporting mode: Plain Doctest mode is: ON >>> x = dict(a=2, b=3, c=4) >>> x.items()[3] Traceback (most recent call last): File "<ipython-input-5-519a9a9c5ae6>", line 1, in <module> x.items()[3] TypeError: 'dict_items' object is not subscriptable
On Thu, Jul 30, 2020, 12:05 PM Christopher Barker <python...@gmail.com> wrote: > On Wed, Jul 29, 2020 at 7:23 AM Wes Turner <wes.tur...@gmail.com> wrote: > >> .iloc[] is the Pandas function for accessing by integer-location: >> >> https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.iloc.html >> > > I'm not sure I quite get the analogy here, but ... > > >>> odict.iloc[3] >> >> >> Would this be the only way to access only item 4 from an odict of length >> greater than 4 with slice notation for dict views generated from selection >> by integer-location? >> > > are suggesting that we add another attribute to dicts to provide "index" > access? I'm not sure the advantage of that, as we already have the dict > views, so I guess it's nice not to have the type the parentheses: > > odict.items()[3] IS a bit klunkier than odict.iloc[3] > > (Side note: why ARE the views provided by methods, rather than properties? > But I digress ...) > > >> >>> odict[3:4] >> > > that would be possible. > > What does this do? Confusing to a beginner: >> >> >>> odict[3,] >> > > no more confusing than it is for Sequences, is it? > > In [4]: l[3,] > > --------------------------------------------------------------------------- > TypeError Traceback (most recent call last) > <ipython-input-4-ca8ec5ca5475> in <module> > ----> 1 l[3,] > > TypeError: list indices must be integers or slices, not tuple > > But yes, if we allowed dicts to be indexable with slices, they still > couldn't be indexed by single indexes (unless that value happened to be a > key) so there would be no way to get a single item by index, as a length-1 > slice would presumably return a dict with one item. > > So yeah, if indexing, slicing were to happen, it would have to be in the > views. > > But this does bring up that there are a lot of places where slice notation > could be used outside of [] -- and that would be handy for use cases like > pandas, even if not for dicts. > > -CHB > > -- > Christopher Barker, PhD > > Python Language Consulting > - Teaching > - Scientific Software Development > - Desktop GUI and Web Development > - wxPython, numpy, scipy, Cython >
_______________________________________________ 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/TH54BGX66NQ2VECS3XO33ADY3GRTX5NU/ Code of Conduct: http://python.org/psf/codeofconduct/