Python 这句话表达得好吗?
我试图在一行中优化if语句,它在我的shell中似乎工作正常,但当我测试它时,什么也没有返回。你看到什么奇怪的东西了吗?。此函数的目标是将if语句替换为单个。返回语句,这就是我所做的 这是原始功能:Python 这句话表达得好吗?,python,function,Python,Function,我试图在一行中优化if语句,它在我的shell中似乎工作正常,但当我测试它时,什么也没有返回。你看到什么奇怪的东西了吗?。此函数的目标是将if语句替换为单个。返回语句,这就是我所做的 这是原始功能: def same_length(L1, L2): '''(list, list) -> bool Return True if and only if L1 and L2 contain the same number of elements. ''' if
def same_length(L1, L2):
'''(list, list) -> bool
Return True if and only if L1 and L2 contain the same number of elements.
'''
if len(L1) == len(L2):
return True
else:
return False
这是我的优化:
return True if len(L1) == len(L2) else False # Do you see something strange here?
这是正确的吗 这是正确的,但你不必把它弄得这么复杂。这相当于:
return len(L1) == len(L2)
这里不需要使用
if
-语句:len(L1)==len(L2)
的结果已经是布尔值。如果该布尔值为True
,则返回True
,对于False
,返回相同的值。简单地返回测试结果是等效的(而且效率更高)。这是正确的,但您不必让它变得如此复杂。这相当于:
return len(L1) == len(L2)
这里不需要使用
if
-语句:len(L1)==len(L2)
的结果已经是布尔值。如果该布尔值为True
,则返回True
,对于False
,返回相同的值。简单地返回测试结果是等效的(而且更有效)。为什么不返回len(L1)==len(L2)
这已经是一个布尔表达式,结果为True或False:)只要返回它就行了如果您有一些代码,它什么也不返回,请务必将其包含在您的问题中,以便人们可以查看。为什么不将其包含在您的问题中,以便人们可以查看呢。