Michael McNeil Forbes wrote:
My expectation was that array would iterate over a set. This is
incorrect:
array(set([1,2,3]))
array(set([1, 2, 3]), dtype=object)
Is this the intended behaviour? A trivial work-around that does what
I need is
array(list(set([1,2,3])))
array([1, 2, 3])
but I was wondering if this was by design or just a forgotten
corner. (Maybe a vestige of the tuple special case for record arrays?)
We can recognize most sequences (i.e. for all i in range(len(x)), x[i] responds
correctly), but we cannot easily deal with arbitrary iterables which are not
sequences in the array() function. There are a lot of special cases and
heuristics going on in array() as it is. Instead, we have a fromiter() function
which will take an iterable and construct an array from it. It is limited to 1D
arrays, but this is by far the most common use for constructing an array from an
iterable.
--
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
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion