Re: Constructing Expressions from List Elements

• Subject: [mg2227] Re: [mg2143] Constructing Expressions from List Elements
• From: wagner at goober.cs.colorado.edu (Dave Wagner)
• Date: Tue, 17 Oct 1995 06:34:45 GMT
• Approved: usenet@wri.com
• Distribution: local
• Newsgroups: wri.mathgroup
• Organization: University of Colorado, Boulder
• Sender: daemon at wri.com ( )

```In article <45d02k\$5tc at ralph.vnet.net>,
Lou Talman  <me at talmanl.mscd.edu> wrote:
>In[1]:=
>  q = ##&
>Out[1]=
>  ##1 &
>In[2]:=
>  limits = {{x, 0, 1}, {y, -Infinity, Infinity}, {z, 0, 1}}
>Out[3]=
>  {{x, 0, 1}, {y, -Infinity, Infinity}, {z, 0, 1}}
>In[4]:=
>   Integrate[f[x, y, z], Apply[q, limits]]
>Out[5]=
>   Integrate[f[x, y, z], {x, 0, 1}, {y, -Infinity, Infinity}, {z, 0, 1}]
>
>--Lou Talman
>

What Lou is doing is taking a List and turning it into a Sequence.
There's a more direct way to do this:

Integrate[f[x, y, z], Sequence @@ limits]

Another nice use of this trick is when you have a list of subscripts that
you want to use as a multiple-level index into a list:

s[[Sequence @@ subscripts]]

Note that s[[subscripts]] behaves quite differently.

You can think of Sequence@@ as an operator that obliterates the
head of the expression it is applied to.  Actually the head List
is replaced by Sequence, which subsequently is flattened.

Dave Wagner
Principia Consulting
(303) 786-8371
dbwagner at princon.com
http://www.princon.com/princon

```

• Prev by Date: Re: A simple swap function
• Next by Date: Re: Mathlink & Graphics....
• Previous by thread: Re: Constructing Expressions from List Elements
• Next by thread: Re: Constructing Expressions from List Elements