Skip to main content
 首页 » 编程设计

python之这个 if 语句表达得好吗

2025年05月04日24bjzhanghao

我试图在一行中优化 if 语句,它似乎在我的 shell 中正常工作,但当我测试它时,它什么也没返回。你看到一些奇怪的东西吗?这个函数的目标是用一个单独的替换 if 语句。 return 语句,这就是我所做的。

这是原始函数:

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) 的结果已经是一个 bool 值。如果该 bool 值是 True,则返回 True,对于 False 也是如此。简单地返回测试结果是等价的(并且更有效)。