课程
/后端开发
/Python
/python进阶
>>> li = ['test', None, '', 'str', ' ', 'END']>>> print [x for x in li if len(x.strip())>0]
为什么这么写就会有类型的错误,而你用filter就不会有问题
2015-04-13
源自:python进阶 2-6
正在回答
x.strip() 如果碰上None会出错,可以采用了 if x and len(x.strip()) 代替
原文 里面 return x and len(x.strip())>0 这个如果是None 怎么个检测原理那 ?? len部分会出错 ,怎么个return False的??想不通了!~~ 对AND 的用法理解不透
求个解释
>>> "" and "b" '' 的结果是'' 而: None and "b" 竟然没输出任何东西
C_Geek
小二百
OMG 是我的错 这一写就对的 。print [x for x in li if x and len(x.strip())>0]
而我昨天晚上少个条件。。。猪头了
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计