如何在元组列表为空时返回自定义消息?

时间:2017-09-16 15:52:23

标签: python list tuples max

我正在尝试编写一个遍历元组列表的函数,并返回特定元组中具有最高第二项的条目。我提出了以下代码似乎运作良好。但是,当我使用空列表运行此函数时,我收到一个错误。我想知道如何改进我的代码以提供自定义消息,或者只是'None'如果输入列表为空。

def max_steps(step_records):
  """DOCSTRING"""

  tuplemax = max(step_records, key = lambda x:x[1])
  return(tuplemax[1])

1 个答案:

答案 0 :(得分:1)

您可以简单地测试元组是否为“假”,即空。如果是,请返回您的特殊值:

def max_steps(step_records):
    if not step_records:
        return None
    tuplemax = max(step_records, key = lambda x:x[1])
    return(tuplemax[1])

但是,不是返回None或其他一些特殊值,而是提出一个特定的例外情况,让用户确切知道出了什么问题:

def max_steps(step_records):
    if not step_records:
        raise ValueError('"step_records" may not be empty')
    tuplemax = max(step_records, key = lambda x:x[1])
    return(tuplemax[1])