if-else in python list comprehensions
<p>is it possible to write list comprehensions for the following python code:</p>

<pre><code>for str in range(0,len(mixed_content)):
    if (mixed_content[str].isdigit()):
        num_list.append(mixed_content[str])
    else:
        string_list.append(mixed_content[str])
</code></pre>

<p>can we use else block in list comprehensions ? I tried to write list comprehensions for above code :</p>

<pre><code>num_list , string_list = [   mixed_content[str]  for str in range(0,len(mixed_content)) if(mixed_content[str].isdigit()) else ]
</code></pre>

<p>Here is an example of using <code>x if b else y</code> in a list comprehension.</p>

<pre><code>mixed_content = "y16m10"

num_list, string_list = zip(
    *[(ch, None) if ch.isdigit() else (None, ch) for ch in mixed_content])
num_list = filter(None, num_list)
string_list = filter(None, string_list)
print num_list, string_list
</code></pre>

python python-2.7 python-3.x list-comprehension