我正在嘗試創建一個函數new_function,它以一個數字作爲參數。 該函數將根據我作爲參數傳遞的數字操縱列表中的值。在這個函數中,我將放置另一個函數new_sum,它負責處理列表中的值。 例如,如果我將4傳入new_function,則需要new_function在前四個元素的每一個上運行new_sum。相應的值會改變,我需要創建四個新的列表。Python函數不能正常工作
例如:
listone=[1,2,3,4,5]
def new_function(value):
for i in range(0,value):
new_list=listone[:]
variable=new_sum(i)
new_list[i]=variable
return new_list
# running new_function(4) should return four new lists
# [(new value for index zero, based on new_sum),2,3,4,5]
# [1,(new value for index one, based on new_sum),3,4,5]
# [1,2,(new value for index two, based on new_sum),4,5]
# [1,2,3,(new value for index three, based on new_sum),5]
我的問題是,我不斷獲取一個巨大的名單。我究竟做錯了什麼?
從OP代碼的語義看來,他實際上想要「yield」,而不是「return」,「new_list」。 –