On 19/03/20 3:28 PM, Santiago Basulto wrote:
...> myself missing A LOT features from NumPy, like fancy indexing or boolean
arrays.
So, has it ever been considered to bake into Python's builtin list and
dictionary types functionality inspired by NumPy? I think multi indexing
alone would be huge addition. A few examples:
For lists and tuples:
     >>> l = ['a', 'b', 'c']
     >>> l[[0, -1]]
     ['a', 'c']
For dictionaries it'd even be more useful:
     d = {
         'first_name': 'Frances',
         'last_name': 'Allen',
         'email': 'fal...@ibm.com'
     }
     fname, lname = d[['first_name', 'last_name']]


I fear that I'm missing your point.

How is
        l[[0, -1]] or fname, lname = d[['first_name', 'last_name']]
any better than
        l[ 0 ], l[ -1 ] or
        fname = d[ 'first_name' ]
        lname = d[ 'last_name' ]

Are you aware, that whilst there is more coverage of "tuple unpacking" (at least to my eye), there is also a "list unpacking" feature?

>>> t = ( 1, 2, 3 )
>>> a, b, c = t
>>> print( a, b, c )
1 2 3

>>> l = [ 1, 2, 3 ]
>>> a, b, c = l
>>> print( a, b, c )
1 2 3

and somewhat similarly for dictionaries:

>>> fname, lname = d[ "first_name" ], d[ "last_name" ]
>>> fname, lname
('Frances', 'Allen')


That said, I've often wished to be allowed to write:

        d.first_name

for a dict (cf a class/object).

Hmm, I feel a 'utility' coming-on - but first I'll look to see where/how such might be used in 'live' code (and be any better than the current mechanisms)...

Simple collections are one thing. How would you handle the structure if one or more elements contains a second dimension? eg a list within a list/a 2D matrix (or if you must, an 'array')?
--
Regards =dn
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to