Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: How can I make a sequence that includes lists?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg125470] Re: How can I make a sequence that includes lists?
  • From: "Oleksandr Rasputinov" <oleksandr_rasputinov at ymail.com>
  • Date: Thu, 15 Mar 2012 00:26:47 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <jjpbbn$p9r$1@smc.vnet.net> <op.wa5uvcqc6cr3ji@core2.lan>

On Wed, 14 Mar 2012 12:41:26 -0000, Oleksandr Rasputinov  
<oleksandr_rasputinov at ymail.com> wrote:

> On Wed, 14 Mar 2012 05:46:31 -0000, JasonE <ebaughjason at gmail.com> wrote:
>
>> Hello folks,
>>
>> How can I make a sequence that includes lists?
>> Ex:
>> Sequence[apple, {rock, tree), {ocean, lake}]
>>
>> Here is my specific problem:
>>
>> I use this function to make associative arrays:
>> IndexedVariable[var_,indicesValues__]:=With[{dict=List[indicesValues]},Scan[(var[#[[1]]]=#[[2]])&,dict]]
>>
>> (I got it from:  
>> http://www.physic.ut.ee/~kkannike/english/prog/mathematica/index.html#true_dict)
>>
>>
>> Here is an example of how it takes arguments:
>> IndexedVariable[f, {1, "a"}, {2, "b"}, {3, "c"}]
>>
>> In[2]:= f[1]
>> Out[2]= a
>>
>> In[3]:= f[2]
>> Out[3]= b
>> ect...
>>
>> You can imagine, some associations are too long to type out by hand.
>> Ex: {1, x1}, {2, x2}...{1000, x1000}
>>
>> When I make these associations programtically, I get a list back:
>> {{1, x1}, {2, x2},...{1000, x1000}}
>>
>> IndexedVariable[f,{{1, x1}, {2, x2}, {3, x3}...{1000, x1000}}]
>> does not work.
>>
>> It wants a sequence.
>>
>>
>> How can I make a sequence that includes lists?
>>
>> Thanks,
>> Jason
>>
>
> Just use
>
> IndexedVariable[f, Sequence @@ lst]
>
> or try
>
> IndexedVariable2[var_, lst_List] := (
>     MapThread[
>      (var[#1] = #2) &,
>      Transpose[lst]
>     ];
>    );
> IndexedVariable2[var_, keys__] := IndexedVariable[var, {keys}];
>
> which is both faster than IndexedVariable and accepts either lists or  
> sequences of keys.

Sorry:

IndexedVariable2[var_, keys__] := IndexedVariable[var, {keys}];

in the above should have been

IndexedVariable2[var_, keys__] := IndexedVariable2[var, {keys}];

(I renamed my version of the function before posting but forgot to update  
the definition.)



  • Prev by Date: Re: Message using FindFit with LevenbergMarquardt Method
  • Next by Date: Re: Button Behavior OnClick
  • Previous by thread: Re: How can I make a sequence that includes lists?
  • Next by thread: Re: How can I make a sequence that includes lists?