Thank you for your reply very much indeed. :)<br>I guessed it could somehow so..., though I thought it could be somwhat simpler (not saying that your solution is too complicated :))<br>Ruda<br><br><div><span class="gmail_quote">
On 01/03/07, <b class="gmail_sendername">David M. Cooke</b> &lt;<a href="mailto:cookedm@physics.mcmaster.ca">cookedm@physics.mcmaster.ca</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Mar 1, 2007, at 13:33 , Rudolf Sykora wrote:<br><br>&gt; Hello,<br>&gt;<br>&gt; since noone has reacted to my last e-mail yet (for several days), I<br>&gt; feel the need to ask again (since I still do not know a good answer).
<br>&gt; Please help me.<br>&gt;<br>&gt; &gt;&gt; Hello everybody,<br>&gt; &gt;&gt; I wonder how I could most easily accomplish the following:<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;Say I have sth like:<br>&gt; &gt;&gt; a = array( [1, 2] )
<br>&gt; &gt;&gt; and I want to use this array to build another array in the<br>&gt; following sence:<br>&gt; &gt;&gt; b = array( [[1, 2, 3, a], [5, a, 6, 7], [0, 2-a, 3, 4]])&nbsp;&nbsp;# this<br>&gt; doesn&#39;t work<br>&gt; &gt;&gt;
<br>&gt; &gt;&gt; I would like to obtain<br>&gt; &gt;&gt; b = array( [[1, 2, 3, 1, 2],&nbsp;&nbsp;[5 ,1 ,2 ,6 ,7], [0, 1, 0, 3, 4]] )<br>&gt;<br>&gt; &gt;&gt; I know a rather complicated way but believe there must be an<br>&gt; easy one.
<br>&gt; &gt;&gt; Thank you very much.<br>&gt;<br>&gt; &gt;&gt; Ruda<br>&gt;<br>&gt; I would need some sort of flattening operator...<br>&gt; The solution I know is very ugly:<br>&gt;<br>&gt;&nbsp;&nbsp;b = array(( concatenate(([1, 2, 3], a)), concatenate(([5], a, [6,
<br>&gt; 7])), concatenate(([0], 2-a, [3, 4])) ))<br><br>Define a helper function<br><br>def row(*args):<br>&nbsp;&nbsp;&nbsp;&nbsp; res = []<br>&nbsp;&nbsp;&nbsp;&nbsp; for a in args:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a = asarray(a)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if len(a.shape) == 0:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
res.append(a)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; elif len(a.shape) == 1:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; res += a.tolist()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; raise ValueError(&quot;arguments to row must be row-like&quot;)<br>&nbsp;&nbsp;&nbsp;&nbsp; return array(res)<br><br>then<br>
<br>b = array([ row(1,2,3,a), row(5,a,6,7), row(0,2-a,3,4) ])<br><br>--<br>|&gt;|\/|&lt;<br>/------------------------------------------------------------------\<br>|David M. Cooke&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://arbutus.physics.mcmaster.ca/dmc/">
http://arbutus.physics.mcmaster.ca/dmc/</a><br>|cookedm@<a href="http://physics.mcmaster.ca">physics.mcmaster.ca</a><br><br><br>_______________________________________________<br>Numpy-discussion mailing list<br><a href="mailto:Numpy-discussion@scipy.org">
Numpy-discussion@scipy.org</a><br><a href="http://projects.scipy.org/mailman/listinfo/numpy-discussion">http://projects.scipy.org/mailman/listinfo/numpy-discussion</a><br><br><br></blockquote></div><br>