Re: Occurrences in Mathematica
- To: mathgroup at smc.vnet.net
- Subject: [mg106374] Re: Occurrences in Mathematica
- From: Peter Pein <petsie at dordos.net>
- Date: Mon, 11 Jan 2010 05:28:16 -0500 (EST)
- References: <hic33o$59f$1@smc.vnet.net>
George schrieb: > Hi, > > I have a very big list of elements and I need Mathematica to give me > only those elements which occure only once... > > Could anybody advise me please how to write the code for that? > > Thks much > George > Hi George, calculating some data: SeedRandom[5]; theList=Insert[RandomChoice[#/Tr[#]&[1/#^4]->#,{10^6}]&[Range[100]],{a,b,a,c},123456]; to preserve the order of occurrance, I would use: Reap[ NestWhile[ (If[FreeQ[##1], Sow[#2];#1, DeleteCases[##1]]&)@@{Rest[#1],First[#1]}&, theList, #1=!={}&] ][[2,1]] which gives: {26,29,35,{a,b,a,c},40,60,28,34,33,31,32} If you want sorted results, use the simple (and fast) Cases[Split[Sort[theList]],{x_}:>x] ---> {26,28,29,31,32,33,34,35,40,60,{a,b,a,c}} HTH, Peter