Re: addRule
- To: mathgroup at smc.vnet.net
- Subject: [mg125883] Re: addRule
- From: Alexei Boulbitch <Alexei.Boulbitch at iee.lu>
- Date: Fri, 6 Apr 2012 05:51:27 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
Hello, I have these data {{1, {38, 35, 37}}, {2, {21}}, {3, {24, 14}}} and I want {[1->38,1->35,1->37},{2->21},{3->24,3->14}} The solution is simple when list of data have the same length But what is the solution for my example Thanks Andrew Hi, Andrew, Try this: lst = {{1, {38, 35, 37}}, {2, {21}}, {3, {24, 14}}}; Table[Rule[lst[[i, 1]], #] & /@ lst[[i, 2]], {i, 1, Length[lst]}] {{1 -> 38, 1 -> 35, 1 -> 37}, {2 -> 21}, {3 -> 24, 3 -> 14}} or this: g[{a_, list_List}] := Rule[a, #] & /@ list; Map[g, lst] {{1 -> 38, 1 -> 35, 1 -> 37}, {2 -> 21}, {3 -> 24, 3 -> 14}} There should be also a better way, but I failed to guess fast. Have fun. Alexei Alexei BOULBITCH, Dr., habil. IEE S.A. ZAE Weiergewan, 11, rue Edmond Reuter, L-5326 Contern, LUXEMBOURG Office phone : +352-2454-2566 Office fax: +352-2454-3566 mobile phone: +49 151 52 40 66 44 e-mail: alexei.boulbitch at iee.lu