Re: List to string ?
- To: mathgroup at smc.vnet.net
- Subject: [mg59687] Re: List to string ?
- From: "James Gilmore" <james.gilmore at yale.edu>
- Date: Wed, 17 Aug 2005 04:00:44 -0400 (EDT)
- Organization: Yale University
- References: <ddccb4$5vt$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi everyone, The most efficient are: ToString[Infix[li, ""]]; ToString[FromDigits[li]]; In[243]:= $Version Out[243]= "5.0 for Microsoft Windows (June 11, 2003)" In[244]:= li = Table[i, {i, 10^5}]; In[245]:= Timing[ToString[Infix[li, ""]]; ] Out[245]= {0.3300000000000409*Second, Null} In[246]:= Timing[ToString[FromDigits[li]]; ] Out[246]= {0.22000000000002728*Second, Null} In[247]:= Timing[StringJoin[ToString /@ li]; ] Out[247]= {0.6909999999999741*Second, Null} In[248]:= Timing[StringJoin @@ ToString /@ li; ] Out[248]= {0.72199999999998*Second, Null} In[249]:= Timing[StringJoin[(ToString[#1] & ) /@ li]; ] Out[249]= {0.7810000000000059*Second, Null} Above about 1.5 10^5 digits, ToString[Infix[li, ""]]; becomes faster: In[344]:= li = Table[i, {i, 1.5 10^5}]; In[345]:= Table[Timing[ToString[Infix[li, ""]]; ],{i,20}]; Sum[%\[LeftDoubleBracket]i\[RightDoubleBracket]/Length[%],{i,Length[%]}] Out[346]= {0.4091 Second, Null} In[347]:= Table[Timing[ToString[FromDigits[li]]; ],{i,20}]; Sum[%\[LeftDoubleBracket]i\[RightDoubleBracket]/Length[%],{i,Length[%]}] Out[348]= {0.4041 Second, Null} In[349]:= li = Table[i, {i, 2 10^5}]; In[350]:= Table[Timing[ToString[Infix[li, ""]]; ],{i,20}]; Sum[%\[LeftDoubleBracket]i\[RightDoubleBracket]/Length[%],{i,Length[%]}] Out[351]= {0.55075 Second, Null} In[352]:= Table[Timing[ToString[FromDigits[li]]; ],{i,20}]; Sum[%\[LeftDoubleBracket]i\[RightDoubleBracket]/Length[%],{i,Length[%]}] Out[353]= {0.58835 Second, Null} -- James Gilmore Graduate Student Department of Physics Yale University New Haven, CT 06520 USA "Dr. Wolfgang Hintze" <weh at snafu.de> wrote in message news:ddccb4$5vt$1 at smc.vnet.net... > Given a list li={1,2,3} what is an efficient way to transform it to the > string st="123"? > > Thanks in advance for your help. > > Regards, > Wolfgang >