robert williams robert williams - 1 month ago 6
Python Question

if-else in python list comprehensions

is it possible to write list comprehensions for the following python 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])


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

num_list , string_list = [ mixed_content[str] for str in range(0,len(mixed_content)) if(mixed_content[str].isdigit()) else ]

Answer

You can only construct one list at a time with list comprehension. You'll want something like:

nums = [foo for foo in mixed_list if foo.isdigit()]
strings = [foo for foo in mixed_list if not foo.isdigit()]
Comments