<p>List Comprehension for me seems to be like the opaque block of granite that regular expressions are for me. I need pointers.</p>

<p>Say, I have a 2D list:</p>

<pre><code>li = [[0,1,2],[3,4,5],[6,7,8]]
</code></pre>

<p>I would like to merge this either into one long list</p>

<pre><code>li2 = [0,1,2,3,4,5,6,7,8]
</code></pre>

<p>or into a string with separators:</p>

<pre><code>s = "0,1,2,3,4,5,6,7,8"
</code></pre>

<p>Really, I'd like to know how to do both.</p>

```
```
import itertools
itertools.flatten( li )
```
```