doing "nothing" in else command of if-else clause

Question:

Code:

for i in range(1000):
    print(i) if i%10==0 else pass

Error:

File "<ipython-input-117-6f18883a9539>", line 2
    print(i) if i%10==0 else pass
                            ^
SyntaxError: invalid syntax

Why isn’t ‘pass’ working here?

Asked By: Mysterious

||

Answers:

This is not a good way of doing this, if you see this problem the structure of your code might not be good for your desires, but this will helps you:

 print(i) if i%10==0 else None
Answered By: Mehrdad Pedramfar

This is not a direct answer to your question, but I would like suggest a different approach.

First pick the elements you want to print, then print them. Thus you’ll not need empty branching.

your_list = [i for i in range(100) if i%10]
# or filter(lambda e: e%10 == 0, range(100))
for number in your_list:
    print number
Answered By: marmeladze
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.