我正在將列表和兩個函數傳遞給一個函數。在這個函數中,我將這個原始列表分配給一個新的列表。該函數正在毫無困難地基於新列表的屬性返回一個值。問題是,當我試圖從功能外打印現在修改的列表(例如在Spyder的控制檯中)時,將打印原始列表而不是新列表。打印在功能外不起作用
def applyF_filterG(L, f, g):
i = 0
newL = []
while i < len(L):
fint = f(L[i])
if g(fint) == True:
newL.append(L[i])
i = i + 1
L = newL
if len(L) == 0:
le = -1
else:
le = max(L)
return le
對不起,我沒有發佈代碼原來。我運行代碼後,然後打印返回的原始列表。我在pythontutor中運行了代碼,新修改的列表L保留了它的新賦值,直到函數完成return語句爲止。
請提供一些代碼請 –
如果您不返回新列表,您打算如何打印它?將變量重新分配給新列表不會自動返回它 – UnholySheep
歡迎使用堆棧溢出。在繼續之前,請仔細閱讀[幫助頁面](http://stackoverflow.com/help) - 特別是[「我可以詢問什麼主題?」](http://stackoverflow.com/help/on - 「我應該避免問什麼類型的問題?」](http://stackoverflow.com/help/dont-ask),[「我如何提出一個好問題?」](http:// stackoverflow.com/help/how-to-ask)和[「如何創建一個最小,完整和可驗證的示例」](http://stackoverflow.com/help/mcve)。 –