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

Reply via email to