2013-08-19 127 views
1

我在嘗試學習Python時遇到了一個奇怪的問題。我正在寫一段代碼,它從一個.txt文件獲取數據,將它提供給一個大量修改它的函數,然後將它提供給另一個函數。它一直工作,直到我試圖將數據分成兩部分。我打破了我的代碼下來,得到這個:函數可以將兩個值輸入另一個函數嗎?

def func1(v1, v2): 
    return(v1, v2) 

def func2(v1, v2): 
    return(v1, v2) 

foo, bar = func1(func2("foo", "bar")) 

FUNC2返回兩個值(一個元組,我覺得呢?),但FUNC1需要兩個分隔值 - 一個元組將不會削減它。有沒有辦法直接吐出元組,還是我需要執行以下操作?

foo, bar = func2("foo", "bar") 
foo2, bar2 = func1(foo, bar) 

必須有更好的辦法...在此先感謝。

回答

9

把它解析,

foo, bar = func1(*func2("foo", "bar")) 
       ^

一些更多的信息in the docs

+0

哇,是不是很簡單?一個星號讓我拉出頭髮半個小時。非常感謝您的快速回復。 – Zinatic

相關問題