Re: programming comptition II
- To: mathgroup at smc.vnet.net
- Subject: [mg5047] Re: programming comptition II
- From: rhall2 at umbc.edu (hall robert)
- Date: Wed, 23 Oct 1996 01:38:10 -0400
- Organization: University of Maryland, Baltimore County
- Sender: owner-wri-mathgroup at wolfram.com
In article <54f397$74f at dragonfly.wolfram.com>, Xah Lee <xah at best.com> wrote:
>Problem Two: Pairing of Nodes.
>Given two list of the same Dimensions, how to combine the list so that
>the end nodes of the new list pair the end nodes of given lists. Example
>and solution:
>
>Clear[li1, li2]
>
>li1 = Array[f, {2,3,4}]
>li2 = Array[g, {2,3,4}]
>
>Transpose[ {li1, li2},
>RotateRight@ Range@ Length@ Dimensions@ {li1, li2}
>]
Mathematica has built-in functions for dealing with multiple lists.
MapThread[List, {li1, li2}, Depth[li1] -2]
Alternately, you can get around the fact that List[] isn't listable with
ListableFunction[li1, li2] /. ListableFunction -> List
For example
li1 + li2 /. Plus -> List
This won't work with numbers; the function will be evaluated at
the number pairs and each pair will be replaced by a single value.
--
Bob Hall | "Know thyself? Absurd direction!
rhall2 at gl.umbc.edu | Bubbles bear no introspection." -Khushhal Khan Khatak