[Numpy-discussion] unique() should return a sorted array
Sasha
ndarray at mac.com
Sun Jul 2 12:17:58 EDT 2006
On 7/2/06, Norbert Nemec <Norbert.Nemec.list at gmx.de> wrote:
> ...
> Does anybody know about the internals of the python "set"? How is
> .keys() implemented? I somehow have really doubts about the efficiency
> of this method.
>
Set implementation (Objects/setobject.c) is a copy and paste job from
dictobject with values removed. As a result it is heavily optimized
for the case of string valued keys - a case that is almost irrelevant
for numpy.
I think something like the following (untested, 1d only) will probably
be much faster and sorted:
def unique(x):
s = sort(x)
r = empty_like(s)
r[:-1] = s[1:]
r[-1] = s[0]
return s[r != s]
More information about the NumPy-Discussion
mailing list