python给出一个list,求最大最小值的差。

比如[1,2,4,6],最大6,最小1,返回6-1=5我写的代码:defcheckio(*args):ifnotargs:return0returnmax(args)-m... 比如[1,2,4,6],最大6,最小1,返回6-1=5
我写的代码:
def checkio(*args):
if not args:
return 0
return max(args)-min(args)
另外两个写得更简洁的代码:
版本A:
def checkio(*args):
return max(args) -min(args) if args else 0
版本B:
def checkio(*t):
return len(t) and max(t)-min(t)
版本A中if else为什么不用分号?
版本B我不明白为什么这么写能实现和我一样的功能。len(t)是一个数值,max(t)-min(t)是一个数值,两个数值and一下,怎么就能实现这个功能了呢?谢谢!
当输入为空的list的时候返回0。
展开
 我来答
我心我在
2015-05-27 · TA获得超过2157个赞
知道小有建树答主
回答量:784
采纳率:77%
帮助的人:647万
展开全部
A :if ...:
       pass
   else:
       pass 
   这是正规的python if else 语句 用啥分号?
   
B 应该这样子写才对吧 
def checkio(args):
    return max(args) -min(args) if args else 0
等价于 
def checkio(args):
    if args :
        return max(args) -min(args)
    else:
        return  0
        
C def checkio(t):
    return len(t) and max(t)-min(t)
    
等价于 
def checkio(t):
    if len(t)==0:
        return  len(t)
    else:
        return max(t)-min(t)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式