On Sat, Mar 7, 2009 at 03:30, Stéfan van der Walt
2009/3/7 Charles R Harris
: a = np.zeros(6) # real b= np.arange(6)*(2+3j) # complex a[1] = b[1] # shouldn't this break?
What is the rationale behind this behaviour?
The same as this:
In [1]: a = zeros(2)
In [2]: a[0] = '1'
In [3]: a Out[3]: array([ 1., 0.])
This difference is that, in your example, no information is lost. When assigning a complex value to a real array, you are probably doing something wrong.
In [5]: z = zeros(3, int) In [6]: z[1] = 1.5 In [7]: z Out[7]: array([0, 1, 0]) -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco