Re: Re: Unsorted Union
- To: mathgroup at smc.vnet.net
- Subject: [mg61625] Re: [mg61564] Re: Unsorted Union
- From: ggroup at sarj.ca
- Date: Mon, 24 Oct 2005 01:44:09 -0400 (EDT)
- References: <dj4p6t$gpt$1@smc.vnet.net><dj721s$cpb$1@smc.vnet.net> <200510220724.DAA12393@smc.vnet.net>
- Reply-to: ggroup at sarj.ca
- Sender: owner-wri-mathgroup at wolfram.com
On Saturday, October 22, 2005 at 03:24 GMT -0400, Bill White wrote: > Other interesting things can be done with this memoizing scheme. For > example, it can be used to collect the duplicate elements in a list: Very nice example. However, I think you need a slight tweak to the definition if you want to remove *all* occurrences of duplicated items. This definition removes only the first occurrence of any given entry from a list. Therefore, if your list has some element listed 3 or more times, the output list would still have multiple occurrences of that element. > In[11]:= > DuplicateElements[list_List]:= > Module[{f,dups={}}, > f[n_]:=(f[n]:=AppendTo[dups,n]); > f/@list; > dups]; One way to avoid duplicated entries in the resulting list could be: DuplicateElements[list_List] := Module[{f, dups = {}}, f[n_]:=(f[n]:=(AppendTo[dups, n]; f[n] = Sequence[])); f /@ list; dups];
- References:
- Re: Unsorted Union
- From: "Bill White" <minutiae@gmail.com>
- Re: Unsorted Union