[Date Index]
[Thread Index]
[Author Index]
Re: Converting a mapping into a well-defined function
*To*: mathgroup at smc.vnet.net
*Subject*: [mg56540] Re: [mg56499] Converting a mapping into a well-defined function
*From*: János <janos.lobb at yale.edu>
*Date*: Thu, 28 Apr 2005 02:40:41 -0400 (EDT)
*References*: <200504270153.VAA01768@smc.vnet.net>
*Sender*: owner-wri-mathgroup at wolfram.com
Using UnsortedUnion from the Help under Union
In[29]:=
UnsortedUnion[x_] :=
Module[{f},
f[y_] := (f[y] = Sequence[
]; y); f /@ x]
In[1]:=
setA = {{a, 5}, {b, 27},
{a, 14}, {c, 4}, {e, 94},
{b, 6}, {d, 9}, {e, 4}}
In[62]:=
Extract[setA,
({First[First[Position[
setA, #1]]]} & ) /@
UnsortedUnion[
Transpose[setA][[1]]]]
Out[62]=
{{a, 5}, {b, 27}, {c, 4},
{e, 94}, {d, 9}}
Then you can Sort it to get your result, or replace UnsortedUnion
with Union in the Extract
In[79]:=
Extract[setA,
({First[First[Position[
setA, #1]]]} & ) /@
Union[Transpose[setA][[
1]]]]
Out[79]=
{{a, 5}, {b, 27}, {c, 4},
{d, 9}, {e, 94}}
János
On Apr 26, 2005, at 9:53 PM, Gilmar wrote:
> Dear Mathematica User Friends:
>
> I need to build a module that takes a non-empty set A
> (whose elements are 2-tuples), and appends (or not) those 2-tuples
> to a set B according to the following criteria:
>
> (1.) if the abscissa of a 2-tuple in A is unique (among the abscissas
> of all the other 2-tuples in A), then the module appends that 2-tuple
> to the set B.
>
> (2.) if there are n 2-tuples in A that share the same abscissa, then
> the module appends the first of those 2-tuples to B ("first" here
> means
> the first of such n 2-tuple encountered, as you read A from left to
> right),but does not append the rest to B.
>
> (3.) the module does not attempt to sort the set B, after the
> appending
> process is completed.
>
> Example:
>
> If A = {{a,5},{b,27},{a,14},{c,4},{e,94},{b,6},{d,9},{e,4}}
>
> then
>
> B=Module[A]={{a,5},{b,27},{c,4},{d,9},{e,94}}.
>
> Another way to re-phrase the above example;
>
> if A defines a mapping:
>
> A(a)=5, A(b)=27, A(a)=14, A(c)=4, A(e)=94, A(b)=6, A(d)=9, A(e)=4
>
> them the module converts the mapping A into a well-defined function:
>
> A(a)=5, A(b)=27, A(c)=4, A(d)=9, A(e)=94.
>
> Thank you for your help!
Prev by Date:
** Re: Converting a mapping into a well-defined function**
Next by Date:
**AW: Converting a mapping into a well-defined function**
Previous by thread:
**Re: Converting a mapping into a well-defined function**
Next by thread:
**Re: Converting a mapping into a well-defined function**
| |