Leah, thanks for your detailed response -- I will take your advice and try to rework the code to pre-allocate for b).
In regards to a), I keep on getting the error message with the second option ERROR: type: apply: expected Function, got (Int64,Int64,Int64) Just making sure, are you using 0.3? If so, hmm, I would be a bit stumped as to why the same line is not working for me. On Thursday, July 24, 2014 5:30:44 PM UTC-4, Leah Hanson wrote: > > a) Your second option works for me: > ~~~ > julia> testtuple = (1,2,3) > (1,2,3) > > julia> testvar = 4 > 4 > > julia> tuple(testtuple...,testvar) > (1,2,3,4) > ~~~ > > b) I'm not sure what the cleanest code for your example would be, but > here's one possibility: > > ~~~ > julia> tuplearray = [(1,2,3),(10,20,30),(100,200,300)] > 3-element Array{(Int64,Int64,Int64),1}: > (1,2,3) > (10,20,30) > (100,200,300) > > julia> aarray = Int[] > 0-element Array{Int64,1} > > julia> barray = Int[] > 0-element Array{Int64,1} > > julia> carray = Int[] > 0-element Array{Int64,1} > > julia> for (a,b,c) in tuplearray > push!(aarray,a) > push!(barray,b) > push!(carray,c) > end > > julia> aarray > 3-element Array{Int64,1}: > 1 > 10 > 100 > > julia> barray > 3-element Array{Int64,1}: > 2 > 20 > 200 > > julia> carray > 3-element Array{Int64,1}: > 3 > 30 > 300 > ~~~ > > If would be faster to pre-allocate the arrays (to the length of the > tuplearray), and then just put the elements in at the correct indices, but > I'm not sure if that matters for your application. > > -- Leah > > > > On Thu, Jul 24, 2014 at 4:15 PM, <yaois...@gmail.com <javascript:>> wrote: > >> Hi all, >> >> I thought to just add to my previous thread, but created a new one >> because the topic is a bit different. Hope y'all don't mind. >> >> Anyhow: >> >> a) How would I concatenate two tuples? Or a tuple with a variable? >> >> Say I have >> >> testtuple = (1,2,3) >> testvar = 4 >> >> and want to get >> >> newtuple = (1,2,3,4) >> >> (not ((1,2,3),4) >> >> I've tried >> newtuple = tuple(testtuple...,testvar...) >> newtuple = tuple(testtuple...,testvar) >> newtuple = testtuple...,testvar >> >> but none of those have worked to produce the desired result. >> >> b) I have an array of tuples >> >> tuplearray = [(a1,b1,c1),(a2,b2,c2)...,(an,bn,cn)] >> >> How could I then unpack the array into >> >> aarray = [a1,a2...,an] >> barray = [b1,b2...,bn] >> carray = [c1,c3...,cn] >> >> such that each position in the tuple gets unpacked into a corresponding >> individual array? >> >> In Python, I would use >> >> alist,blist,clist = zip(*tuplelist) >> >> It appears that >> >> aarray,barray,carray = zip(tuplearray...) >> >> is not the Julia equivalent. >> >> My version of Julia is the .3 RC. >> >> Thanks for your help >> > >