Re: Deleting expressions containing a certain head
- To: mathgroup at smc.vnet.net
- Subject: [mg126009] Re: Deleting expressions containing a certain head
- From: Bob Hanlon <hanlonr357 at gmail.com>
- Date: Fri, 13 Apr 2012 04:44:00 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201204112222.SAA02815@smc.vnet.net>
expr = {2^(Complex[2, 3]) + 3, 2, 3 x};
Select[expr, FreeQ[#, Complex] &]
{2, 3 x}
Cases[expr, _?(FreeQ[#, Complex] &)]
{2, 3 x}
DeleteCases[expr, _?(Not[FreeQ[#, Complex]] &)]
{2, 3 x}
Bob Hanlon
On Wed, Apr 11, 2012 at 6:22 PM, Brentt <brenttnewman at gmail.com> wrote:
> Hello, I have a list of expressions, and I am trying to use DeleteCases to
> delete expressions in the list which contain a certain head *anywhere* in
> the expression. Setting the levelspec for DeleteCases to Infinity almost
> works, except I want to delete the entire expression containing the head
> from the list as opposed to just the head itself while leaving the rest of
> the expression in the list.
>
> e.g.
> I want this
> DeleteCases[{2^(Complex[2,3])+3 , 2 ,3x }, Complex[_,_], Infinity ]
>
> to output this
> {2,3x}
> Getting rid of any expression that has a complex number in it.
>
> How does one go about this?
>
- References:
- Deleting expressions containing a certain head
- From: Brentt <brenttnewman@gmail.com>
- Deleting expressions containing a certain head