从try-except创建函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从try-except创建函数相关的知识,希望对你有一定的参考价值。

如何从以下位置创建函数:

from collections import Counter
s =  ['0', '0', '2', '1', '1', '0', '0', '0']
try:
    print(next(t[0] for t in Counter(s).most_common(2) if t[0] != '0'))
except StopIteration:
    print('0')

此代码无效:

def most_common_number(s):
    try:
        return next(t[0] for t in Counter(s).most_common(2) if t[0] != '0')
    except StopIteration:
        '0'

如果不尝试也可以得到相同的结果,请让我知道

答案

您需要从except块返回。

def most_common_number(s):
    try:
        return next(t[0] for t in Counter(s).most_common(2) if t[0] != '0')
    except StopIteration:
        return '0'

以上是关于从try-except创建函数的主要内容,如果未能解决你的问题,请参考以下文章

无法在 try-except 结构中编译并返回 Python 函数

从 Viewpager2 片段访问父片段函数

从片段函数更改 TextView 的值

使用从循环内的代码片段中提取的函数避免代码冗余/计算开销

如何将数据从回收器适配器发送到片段 |如何从 recyclerview 适配器调用片段函数

Python基础---异常