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