如果使用func()具有多个输出,如何获得函数输出的长度?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果使用func()具有多个输出,如何获得函数输出的长度?相关的知识,希望对你有一定的参考价值。
我有一个像这样的函数列表:
list_of_functions = [func1, func2, func3]
[每个函数输出一个单独的字典列表,例如context_dicts
,否则可能会输出类似以下内容:
context_dicts = func1
context_dicts, output1, output2 = func2
在脚本的另一部分中,我对每个函数执行后的context_dicts
的长度感兴趣,所以我有:
def get_summary():
counts = []
for func in list_of_functions:
if callable(func):
if something:
count = len(func())
counts.append('count': count)
return counts
但是如果我的输出只是context_dicts
没问题,我会得到列表的实际长度,但是如果我叫func2
,那么len(func())
实际上会给我3,因为这是输出的数量。无论如何,如何始终获得context_dicts
的长度?
答案
@@ PavelBotsman给了我一个关于如何寻找答案的想法,所以我只是测试输出是元组还是音符(因为函数的结构不会输出列表),所以基本上是这样:
if isinstance(func(), tuple):
len(func()[0])
else:
len(func())
谢谢
以上是关于如果使用func()具有多个输出,如何获得函数输出的长度?的主要内容,如果未能解决你的问题,请参考以下文章