MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Mapping A Condition Across Two Different Lists

  • To: mathgroup at smc.vnet.net
  • Subject: [mg91762] Re: [mg91705] Mapping A Condition Across Two Different Lists
  • From: Bob Hanlon <hanlonr at cox.net>
  • Date: Sun, 7 Sep 2008 05:38:01 -0400 (EDT)
  • Reply-to: hanlonr at cox.net

targetX = 5; listX = {4, 9, 2, 11, 4};

targetY = 3; listY = {4, 0, 1, 8, 6};

Thread[(targetX > # & /@ listX) &&
  (targetY > # & /@ listY)]

{False,False,True,False,False}

targetX > #[[1]] && targetY > #[[2]] & /@
 Transpose[{listX, listY}]

{False,False,True,False,False}

% == %%

True

Thread[(targetX > # & /@ listX) ||
  (targetY > # & /@ listY)]

{True,True,True,False,True}

targetX > #[[1]] || targetY > #[[2]] & /@
 Transpose[{listX, listY}]

{True,True,True,False,True}

% == %%

True


Bob Hanlon

---- Gregory Lypny <gregory.lypny at videotron.ca> wrote: 

=============
Hello everyone,

Not sure how to do this using Map, or even if it's possible.

I can compare a target value to each value in a list like this.

targetX = 5; listX = {4, 9, 2, 11, 4};
targetX > # & /@ listX

{True, False, True, False, True}

I can do the same for another target and another list.

targetY = 3; listY = {4, 0, 1, 8, 6};
targetY > # & /@ listY

{False, True, True, False, False}

But can I do it in a similar way for the AND or OR condition without  
having to resort to the Table command?

Table[targetX > listX[[i]] && targetY > listY[[i]], {i, Length@listX}]

{False, False, True, False, False}

Table[targetX > listX[[i]] || targetY > listY[[i]], {i, Length@listX}]

{True, True, True, False, True}

Much obliged,

	Gregory


--

Bob Hanlon



  • Prev by Date: Re: Mapping A Condition Across Two Different Lists
  • Next by Date: Re: Mapping A Condition Across Two Different Lists
  • Previous by thread: Re: Mapping A Condition Across Two Different Lists
  • Next by thread: Re: Mapping A Condition Across Two Different Lists