Re: Condensed syntax
- To: mathgroup at smc.vnet.net
- Subject: [mg113498] Re: Condensed syntax
- From: Leonid Shifrin <lshifr at gmail.com>
- Date: Sun, 31 Oct 2010 02:08:35 -0500 (EST)
Hi Themis, you can do this by applying a function to level 1: ij = {{1, 1}, {1, 2}, {1, 3}, {1, 4}, {2, 1}, {2, 2}, {2, 3}, {2, 4}, {3, 1}, {3, 2}, {3, 3}, {3, 4}, {4, 1}, {4, 2}, {4, 3}, {4, 4}} In[5]:= Apply[f, ij, 1] Out[5]= {f[1, 1], f[1, 2], f[1, 3], f[1, 4], f[2, 1], f[2, 2], f[2, 3], f[2, 4], f[3, 1], f[3, 2], f[3, 3], f[3, 4], f[4, 1], f[4, 2], f[4, 3], f[4, 4]} Or, which is the same, In[6]:= f @@@ ij Out[6]= {f[1, 1], f[1, 2], f[1, 3], f[1, 4], f[2, 1], f[2, 2], f[2, 3], f[2, 4], f[3, 1], f[3, 2], f[3, 3], f[3, 4], f[4, 1], f[4, 2], f[4, 3], f[4, 4]} Regards, Leonid On Sat, Oct 30, 2010 at 12:38 PM, Themis Matsoukas <tmatsoukas at me.com>wrote: > I have a list of {i,j} values, > > ij = Tuples[config, 2] > > {{1, 1}, {1, 2}, {1, 3}, {1, 4}, {2, 1}, {2, 2}, {2, 3}, {2, 4}, {3, > 1}, {3, 2}, {3, 3}, {3, 4}, {4, 1}, {4, 2}, {4, 3}, {4, 4}} > > and I want to create a list in which the {i,j} are passed as arguments to a > function f[x,y], i.e., {f[1,1], f[1,2],..., f[4,4]}. I can do this using the > two-step process: > > g[X_List] := Apply[f, X] > Map[g, ij] > > {f[1, 1], f[1, 2], f[1, 3], f[1, 4], f[2, 1], f[2, 2], f[2, 3], > f[2, 4], f[3, 1], f[3, 2], f[3, 3], f[3, 4], f[4, 1], f[4, 2], > f[4, 3], f[4, 4]} > > Is there a way I can bypass the intermediate function g[x] and produce the > final list in a single step? > > Thanks > > Themis > >