How do I convert the following for-loop containing an if/else into a list comprehension?
results = []
for x in xs:
results.append(f(x) if x is not None else '')
It should yield '' if x is None, and otherwise f(x).
I tried:
[f(x) for x in xs if x is not None else '']
but it gives a SyntaxError. What is the correct syntax?
See Does Python have a ternary conditional operator? for info on ... if ... else ....
See List comprehension with condition for omitting values based on a condition: [... for x in xs if x cond].
See `elif` in list comprehension conditionals for elif.