Re: how to sort integers and sparsearrays ?
- To: mathgroup at smc.vnet.net
- Subject: [mg71997] Re: how to sort integers and sparsearrays ?
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Thu, 7 Dec 2006 06:26:13 -0500 (EST)
- Organization: The Open University, Milton Keynes, UK
- References: <el681s$2kb$1@smc.vnet.net>
Arkadiusz.Majka at gmail.com wrote:
> Hi,
>
> I have a list of a form
>
> list = {k, {SparseArray[],SparseArray[], {A,SparseArray[]}}}
>
> A is integer, k is list
>
> What to do to convert it to
>
> {{k,A},{SparseArray[],SparseArray[],SparseArray[]}}
>
> The length of list is unknown. We don't know where A appears. We only
> know that it is integer and forms a list {A, SparseArray[]}.
>
> I can't just use
>
> list/.{a___,{b_,c_,{d_,e_}}}
>
> because this pattern will not suit nither to e.g
>
> list2= {{0,3}},
> {{A,SparseArray[]},SparseArray[],SparseArray[],SparseArray[],SparseArray[]}
>
>
> nor
>
> list3= {{0,3}},
> {SparseArray[],SparseArray[],SparseArray[],SparseArray[],SparseArray[]}
>
>
> where there is no A at all.
>
> Help,
>
> Arek
>
Do you mean something along the lines
list2 = {{0, 3}, {{42, mySparseArray[]},
mySparseArray[], mySparseArray[], mySparseArray[],
mySparseArray[]}}
--> {{0, 3}, {{42, mySparseArray[]}, mySparseArray[], mySparseArray[],
mySparseArray[], mySparseArray[]}}
list2 /. {k_List, {a___mySparseArray,
{n_Integer, s_mySparseArray},
b___mySparseArray}} -> {{k, n}, {a, s, b}}
--> {{{0, 3}, 42}, {mySparseArray[], mySparseArray[], mySparseArray[],
mySparseArray[], mySparseArray[]}}
Regards,
Jean-Marc