簡體   English   中英

如何讀取可變數量的輸出

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM