Select from list
- To: mathgroup at smc.vnet.net
- Subject: [mg87729] Select from list
- From: Steve Gray <stevebg at roadrunner.com>
- Date: Wed, 16 Apr 2008 05:04:08 -0400 (EDT)
I have a list like this: ptX= {{1, 2, 3, 4}, {1, 2, 3, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}, {2, 3, 4, 5}} and I want a list pointing to all the sublists above that contain both a 2 and a 3. In this example I would get {1,2,5}. The best solution I have, with more generality, is: va = 2; vb = 3; za = Map[Cases[#1, va]&, ptX] /. {} -> {0} zb = Map[Cases[#1, vb]&, ptX] /. {} -> {0} Flatten[Position[za*zb, {va*vb}]] which gives {{2}, {2}, {2}, {0}, {2}} {{3}, {3}, {0}, {3}, {3}} {1, 2, 5}. (This doesn't work if va or vb is zero. That's ok.) There's probably a better way. Anyone? Thank you. Steve Gray
- Follow-Ups:
- Re: Select from list
- From: Carl Woll <carlw@wolfram.com>
- Re: Select from list
- From: Curtis Osterhoudt <cfo@lanl.gov>
- Re: Select from list
- From: Andrzej Kozlowski <akoz@mimuw.edu.pl>
- Re: Select from list