Re: Partition List
- To: mathgroup at smc.vnet.net
- Subject: [mg8423] Re: Partition List
- From: "Seth J. Chandler" <SChandler at uh.edu>
- Date: Sat, 30 Aug 1997 00:42:31 -0400
- Organization: University of Houston Law Center
- Sender: owner-wri-mathgroup at wolfram.com
How about this Test data In[68]:= test={14,19,19,17,15,11,10,9,19,8,18,11,9,5,10,15,2,12,15,12,18,1,2,9,2,13,12, 20,6,4,2,4,1,5,12,13,4,12,11,16,1,1,6,13,12,10,7,5,18,2,10,10,13,20,10,3, 8,12,16,2,12,12,6,17,17,20,0,7,1,11,3,0,13,0,16,14,20,4,12,15,3,18,18,1, 12,12,0,13,20,5,15,8,17,10,9,14,1,19,5,17,10,3}; Functional Approach In[73]:= functional=Split[test,#2!=10&] Out[73]= {{14,19,19,17,15,11},{10,9,19,8,18,11,9,5},{10,15,2,12,15,12,18,1,2,9,2,13,12, 20,6,4,2,4,1,5,12,13,4,12,11,16,1,1,6,13,12},{10,7,5,18,2},{10},{10,13, 20},{10,3,8,12,16,2,12,12,6,17,17,20,0,7,1,11,3,0,13,0,16,14,20,4,12,15,3, 18,18,1,12,12,0,13,20,5,15,8,17},{10,9,14,1,19,5,17},{10,3}} Pattern Matching Approach In[70]:= rr1={{x___,10,y___,10,z___}:>{x,{10,y},10,z}} Out[70]= {{x___,10,y___,10,z___}\[RuleDelayed]{x,{10,y},10,z}} In[132]:= rr2={x__,y__List,z__?((Head[#]=!=List)&)}:>{{x},y,{z}} Out[132]= {x__,y__List,z__?(Head[#1]=!=List&)}\[RuleDelayed]{{x},y,{z}} In[133]:= test//.rr1 Out[133]= {14,19,19,17,15, 11,{10,9,19,8,18,11,9,5},{10,15,2,12,15,12,18,1,2,9,2,13,12,20,6,4,2,4,1,5, 12,13,4,12,11,16,1,1,6,13,12},{10,7,5,18,2},{10},{10,13,20},{10,3,8,12,16, 2,12,12,6,17,17,20,0,7,1,11,3,0,13,0,16,14,20,4,12,15,3,18,18,1,12,12,0, 13,20,5,15,8,17},{10,9,14,1,19,5,17},10,3} In[134]:= patternmatching=(test//.rr1)/.rr2 Out[134]= {{14,19,19,17,15,11},{10,9,19,8,18,11,9,5},{10,15,2,12,15,12,18,1,2,9,2,13,12, 20,6,4,2,4,1,5,12,13,4,12,11,16,1,1,6,13,12},{10,7,5,18,2},{10},{10,13, 20},{10,3,8,12,16,2,12,12,6,17,17,20,0,7,1,11,3,0,13,0,16,14,20,4,12,15,3, 18,18,1,12,12,0,13,20,5,15,8,17},{10,9,14,1,19,5,17},{10,3}} Make Sure We Get The Same Answer In[135]:= functional==patternmatching Out[135]= True