Re: removing subelements

• To: mathgroup at smc.vnet.net
• Subject: [mg56121] Re: removing subelements
• From: "Jens-Peer Kuska" <kuska at informatik.uni-leipzig.de>
• Date: Sat, 16 Apr 2005 03:51:54 -0400 (EDT)
• Organization: Uni Leipzig
• References: <d3o0ta\$bqn\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Hi,

a) you have not given a valid example data set, so
that we can't
know what are the other members of the list
{..,{1,2,3,4},..,{2,3},..}
can be
b) if you only want to test a list of lists and
remove all elements
from that list that are sublists of the other
lists than

RemoveSubQ[l1 : {{__Integer} ..}, l2_List] :=
Module[{tmp},
tmp = Select[l1, UnsameQ[#, l2] &];
Or @@ (RemoveSubQ[#, l2] & /@ tmp)
]
RemoveSubQ[l1_?VectorQ, l2_List] /; Length[l1] <
Length[l2] := False
RemoveSubQ[l1_?VectorQ, l2_List] /; Length[l1] ==
Length[l2] := SameQ[l1, l2]
RemoveSubQ[l1_?VectorQ, l2_List] :=
MemberQ[Partition[l1, Length[l2], 1], l2]

RemoveSubmembers[lst_] := (If[RemoveSubQ[lst, #],
Null, #] & /@ lst) /.
Null -> Sequence[]

with

In[]:=lst = {{1, 4, 2}, {1, 2}, {1, 2, 3, 4}, {4,
4}, {2, 3}, {1, 2, 3}};
RemoveSubmembers[lst]

Out[]={{1, 4, 2}, {1, 2, 3, 4}, {4, 4}}

Regards
Jens

<borges2003xx at yahoo.it> schrieb im Newsbeitrag
news:d3o0ta\$bqn\$1 at smc.vnet.net...
> i'm a newbie. How implement the _faster functon_
> which removes in a
> list every element that are a subelement.
> which means
> f[x]:=  {..,{1,2,3,4},..,{2,3},..} removes
> {2,3}.
> thanx a lot.
> giorgio borghi
>

```

• Prev by Date: Re: NDSolve and InterpolatingFunction
• Next by Date: Re: Why can't I call Random[NormalDistribution[10.0,0.0]]?
• Previous by thread: Re: removing subelements
• Next by thread: Re: removing subelements