using map function to square a list
<p>I have a list which I want to square each of them.</p>

<p>this is what I have done</p>

<pre><code>def square(x):
    return x*x

numbers = [1,2,3,4,5,6]
squares = map(square, numbers)


squares_as_strings = str(squares)


print(','.join(squares_as_strings))
</code></pre>

<p>but the answer is this</p>

<pre><code>[,1,,, ,4,,, ,9,,, ,1,6,,, ,2,5,,, ,3,6,]
</code></pre>

<p>instead of </p>

<pre><code>[1,4,9,16,25,36]
</code></pre>

<p>You map the <code>square</code> function, but you're not mapping the <code>str</code> function.  Your <code>squares_as_strings</code> is one string, of the entire list.</p>

<p>Change <code>str(squares)</code> to <code>map(str, squares)</code>.</p>

python string list