我用python创建了以下列表理解:[int(a[0].internal_value).lower() if type(a[0].internal_value) in (str,unicode) and a[0].internal_value.isdigit() == True
else str(a[0].internal_value).lower() if type(a[0].internal_value) in (str,unicode)
else int(a[0].internal_value) if type(a[0].internal_value) in (float,int)
for a in ws.iter_rows() if a[0].internal_value <> None]
如果条件是:else int(a[0].internal_value) if type(a[0].internal_value) in (float,int)
如果我在那一行中使用if条件,就会得到一个无效语法。if type(a[0].internal_value) in (float,int)
如果我删除If语句else int(a[0].internal_value)
看来一切都很顺利。我需要在里面写上if语句。
对我来说,如果条件是列表理解,那么做更简单的if,else条件的方法是:if i == x:
do something
elif i == y:
do something
elif i == z:
do something
根据规则,你不必总是用“else”来结束一系列条件句。在我看来,我的代码需要理解中的最后一个“else”。我说得对吗?如果是的话,如果是在python列表理解中,而不是在最终else中,有没有办法构造一个else?