Re: DeleteCases : several at once, conditions

• To: mathgroup at smc.vnet.net
• Subject: [mg49380] Re: [mg49369] DeleteCases : several at once, conditions
• From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
• Date: Sat, 17 Jul 2004 06:38:43 -0400 (EDT)
• References: <200407161006.GAA24904@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```On 16 Jul 2004, at 19:06, camerzone wrote:

>
> Suppose you have a list of lists, something like
> {{1, 6, 7}, {3, 6, 9}, {1, 2, 11}, {3, 5, 9}, {2, 5, 6}, {2, 9, 11}, {
>   2, 10, 11}, {3, 7, 9}, {5, 8, 11}, {3, 7, 9}, {7, 8, 9}, {2, 5, 12},
> {2, 6,
>     10}, {2, 10, 11}, {1, 6, 9}, {6, 10, 12}, {3, 6, 12}, {2, 5, 12},
> {3, 8,
>      9}, {1, 2, 7}}
> and you want to delete cases matching several different patterns, say
> {1,_,_} and {9,_,_}
> What's the most efficient way?
>
> Also, can you use conditions with DeleteCases?  Say, I want to delete
> all cases containing even numbers?
>
> tks

O.K., let

ls={{1,6,7},{3,6,9},{1,2,11},{3,5,9},{2,5,6},{2,9,11},{2,10,11},{3,7,9},
{

5,8,11},{3,7,9},{7,8,9},{2,5,12},{2,6,10},{2,10,11},{1,6,9},{6,10,12},{
3,6,12},{2,5,12},{3,8,9},{1,2,7}};

here we delete all sublists which begin either with 1 or with 2:

DeleteCases[ls,{1,__}|{2,__}]

{{3, 6, 9}, {3, 5, 9}, {3, 7, 9}, {5, 8, 11}, {3, 7, 9},
{7, 8, 9}, {6, 10, 12}, {3, 6, 12}, {3, 8, 9}}

And here we delete all sublists which either begin with 1 or with 2
followed by even integers:

DeleteCases[ls,{1,__}|{2,__?EvenQ}]

{{3, 6, 9}, {3, 5, 9}, {2, 5, 6}, {2, 9, 11},
{2, 10, 11}, {3, 7, 9}, {5, 8, 11}, {3, 7, 9},
{7, 8, 9}, {2, 5, 12}, {2, 10, 11}, {6, 10, 12},
{3, 6, 12}, {2, 5, 12}, {3, 8, 9}}

Andrzej Kozlowski
Chiba, Japan
http://www.mimuw.edu.pl/~akoz/

```

• Prev by Date: RE: Using a Result from NMinimize
• Next by Date: Re: elimination using GroebnerBasis
• Previous by thread: Re: DeleteCases : several at once, conditions
• Next by thread: Re: DeleteCases : several at once, conditions