为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不推荐用len()判断列表是否为空?

为什么不推荐用len()判断列表是否为空?

呼唤远方 2019-04-06 16:56:55
假设有个列表是x=[]判断列表是否为空用:iflen(x)==0:printtrue这种方法似乎没什么问题,但是据说PEP8标准里不推荐,为什么呢?http://www.python.org/dev/peps/pep-00...
查看完整描述

2 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

从逻辑上讲,一个集合(列表也可以看做一个集合)是否为空是比集合元素个数更基本的性质。比如:自然数集合不为空,但是自然数集合的元素个数是不知道的(当然……你可以说是aleph0)。从风格上讲,一个列表长度为0隐含了一个列表为空,但是Python的格言是explicitisbetterthanimplicit,你判断一个列表是否为空不需要用一个更强的性质“长度”为0来判断。同理,也更不需要用try:
aList[0]
except:
#empty!来判断。虽然,这样也是可以的。但是你可以这样做不代表你应该这样做。Python不是Perl。
                            
查看完整回答
反对 回复 2019-04-06
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

不推荐的意思是“可以用”,但是建议用另一种方式(有的建议或许还隐含“最好不要这么用”)。就像PEP8对空格和TAB的建议:Use4spacesperindentationlevel.Forreallyoldcodethatyoudon'twanttomessup,youcancontinuetouse8-spacetabs.
                            
查看完整回答
反对 回复 2019-04-06
  • 2 回答
  • 0 关注
  • 453 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号