Re: simple set operations

*To*: mathgroup at smc.vnet.net*Subject*: [mg57685] Re: simple set operations*From*: Torsten Coym <torsten.coym at eas.iis.fraunhofer.de>*Date*: Sat, 4 Jun 2005 03:04:31 -0400 (EDT)*Organization*: Fraunhofer Gesellschaft (http://www.fraunhofer.de/)*References*: <d7mk8b$c5m$1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Edward Peschko wrote: > hey all, > > I'm hesitant to ask these questions (because they are so simple) but after a > 15 minute search through the docs I'm getting nowhere, so here goes: > > 1) what's the easiest way to generate a list of elements? ie: > > 'a' .. 'h' == { a,b,c,d,e,f,g,h } > > 2) Is there a quick way to check whether an element is in a set? > > if ('a' == (any('a','b','c','d')) { print "a is in a,b,c,d"; } > > The first one I see could possibly be done by 'Array', but I don't see how - > the '#' refers to the generation of numbers, but there seems to be no > corresponding 'letter' symbol. > > > As for #2, the easiest way would be through an overloading of the '==' operator, > but again, that doesn't seem to work.. > > Thanks much for any help, > > Ed > 1) if you want to generate a list containing *symbols* with consecutive names (that is the way I understood the question), try this In[1]:= lst = ToExpression[CharacterRange["a", "h"]] Out[1]= {a, b, c, d, e, f, g, h} If you just want a list of *numbers* you would go for In[2]:= lstnum = Range[8] Out[2]= {1, 2, 3, 4, 5, 6, 7, 8} 2) here we go: In[111]:= MemberQ[lst, a] Out[111]= True I'm sure you'll figure out, how to use Print[] and If[] to achieve the wanted behaviour. Torsten