[英]How to read variable number of outputs
我正在运行python 2.7.3。 我有一个我调用的函数列表。 某些函数返回多个输出。 我想将所有函数的所有输出保存在列表中。 我怎样才能做到这一点?
def f1():
return [1,2], [3,4]
def f2():
return [5,6]
my_outputs = []
my_funcs = [f1, f2]
for func in my_funcs:
output_list* = func() # does this work?
# a,b,c... = func()
my_outputs.extend(output_list)
print my_outputs
[[1,2], [3,4], [5,6]]
您可以使用isinstance
检查返回类型,尽管它不是非常pythonic。
my_outputs = []
my_funcs = [f1, f2, f3]
for func in my_funcs:
result = func()
if isinstance(result, tuple):
my_outputs.extend(result)
else:
my_outputs.append(result)
sum((list(f()) for f in [f1, f2]), [])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.