关于for 与if…(else) 的四个规律:
1.先for 后if无else - 正常
a = ['a','b','c','d','e']
b = [col for col in a if col !='b']
b
>>['a', 'c', 'd', 'e']
2.先for 后if有else - 错误
a = ['a','b','c','d','e']
b = [col for col in a if col !='b' else 'f']
b
>> File "<ipython-input-37-611c6e4d3002>", line 2
b = [col for col in a if col !='b' else 'f']
^
SyntaxError: invalid syntax
3.先if有else 后for - 正常
a = ['a','b','c','d','e']
b = [col if col !='b' else 'f' for col in a]
b
>>['a', 'f', 'c', 'd', 'e']
4.先if无else 后for - 错误
a = ['a','b','c','d','e']
b = [col if col !='b' for col in a]
b
>> File "<ipython-input-14-611c6e4d3002>", line 2
b = [col for col in a if col !='b' else 'f']
^
SyntaxError: invalid syntax
总结:有else就先if 后for;无else就先for后if