consistency: extending arrays vs. multiplication ?
Soeren Sonnenburg
python-ml at nn7.de
Sat Jul 23 12:30:02 EDT 2005
Hi all,
Just having started with python, I feel that simple array operations '*'
and '+' don't do multiplication/addition but instead extend/join an
array:
a=[1,2,3]
>>> b=[4,5,6]
>>> a+b
[1, 2, 3, 4, 5, 6]
instead of what I would have expected:
[5,7,9]
or
>>> 2*a
[1, 2, 3, 1, 2, 3]
Well it is consistent to strings but tolerating string-operations to be
special is ok to me as "a" + "b" -> 'ab' :)
Why not make it another function like a.stretch() or a.expand() and
a.extend() is there doing the same anyway and is more readable...
Putting this in a larger view:
Ufuncs are very reasonable sin(a), etc ... all that won't work because
of that '+','*' syntax. Ok I can use numarray for that, but seeing its
PEP and a possible inclusion into python at some point that
inconsistency is giving me quite some headache...
Will that change in the future ? Or is this 100*[0] syntax put into
stone for all ages ?
Best,
Soeren.
PS: As I am very new to python please forgive/correct me!
More information about the Python-list
mailing list