Some "pythonic" suggestions for Python
Duncan Booth
duncan.booth at invalid.invalid
Fri Nov 9 04:17:17 EST 2007
Scott David Daniels <Scott.Daniels at Acm.Org> wrote:
>> To quote a poster at
http://www.thescripts.com/forum/thread22741.html,
>> "While we are at it, I also don't understand why sequences can't be
>> used as indices. Why not, say, l[[2,3]] or l[(2, 3)]? Why a special
>> slice concept? " Isn't that unpythonic?
>
> Right now, after:
>
> which_corner = {}
> corner = {}
> for n, position in enumerate([(1,1), (1,5), (3,5), (3,1)]):
> corner[n] = position
> which_corner[position] = n
>
> which_corner[1,5] returns 1
>
> I would hate to have to know whether which_corner is a dictionary
> or a list before I can decide whether this is iteration.
>
Quite so, tuples are currently a valid and indeed commonly used type for
subscripts, so if there was going to be special treatment it would have
to be for lists only and not sequences in general.
Alternatively, and more pythonically (explicit is better than implicit),
we could have a special syntax to indicate that we want to use each
element of the sequence as a separate subscript. I'd like to propose
that the special syntax be:
[s[y] for y in x]
Now someone go and fire up the time machine.
More information about the Python-list
mailing list