Re: Map, List

*To*: mathgroup at smc.vnet.net*Subject*: [mg55089] Re: [mg55066] Map, List*From*: Andrzej Kozlowski <akoz at mimuw.edu.pl>*Date*: Sat, 12 Mar 2005 02:36:36 -0500 (EST)*Sender*: owner-wri-mathgroup at wolfram.com

On 11 Mar 2005, at 10:20, Steve Gray wrote: > I wanted to convert > > {a,b,c} to > {{a},{b},{c}}, (just an example) > > and it occured to me that since List[xx] = {xx}, I could do > > ml=Map[List,{a,b,c}] and get > ml={{a},{b},{c}}, > > making List in this case the inverse of Flatten. Now,assuming a,b,c > have appropriate integer values, > I can do > > Delete[ggon, ml] > > where ggon is a list from which I want to delete an arbitrary set of > list members. > > Of course this worked. My only problem is that I might not have > thought of this obvious (in > retrospect) operation. Using List as a function is not mentioned in > any of my several books. What > general principle applies that makes all such things functions? > > Thank you. > > Steve Gray > > In the sense that you are using the word "function" practically every valid Mathematica expression is a function. For example, instead of list you could use the integer 1: In[1]:= Map[1,{a,b,c}] Out[1]= {1[a],1[b],1[c]} Although this may look strange there might actually be a use for it but in any case the point is that what we are actually doing is constructing expressions with a certain specified Head and calling these heads "functions" is at best very vague. More precisely, the only true "functions" in Mathematica are expressions with head Function, e.g Function[x,x^2] or #^2& and neither List nor 1 is among them. Andrzej Kozlowski Chiba, Japan http://www.akikoz.net/andrzej/index.html http://www.mimuw.edu.pl/~akoz/