If you really want to get the index back, perhaps better might be a dict: counter = 0 d = Dict{KeyType,Int}() for item in list idx = get(d, item, counter+1) if idx > counter counter += 1 end # Do whatever you plan to do with idx end
--Tim On Monday, May 18, 2015 02:24:25 PM Scott Jones wrote: > I suppose I could use a set simply to determine if it was present or not, > and then push! to another array if not present... just didn't seem as > efficient as what I'm used to... > > On Monday, May 18, 2015 at 4:53:02 PM UTC-4, Jameson wrote: > > use a Set? > > http://docs.julialang.org/en/latest/stdlib/collections/?highlight=set > > > > On Mon, May 18, 2015 at 4:46 PM Scott Jones <scott.pa...@gmail.com > > > > <javascript:>> wrote: > >> I would like to be able to do the following in Julia: > >> Take a UInt64 (or UInt128, for that matter), and add it to an array, if > >> it is not already present, returning the index. > >> (This would be trivial in the language I used to work on, and I think it > >> probably is in Julia as well, but I haven't found the right data > >> structure > >> yet...) > >> What would be the best performing way of handling that? > >> What if, instead of an UInt64 or UInt128, I had an array of bytes (like > >> 128 or 256)? What would be the best way for that? > >> > >> Thanks, Scott