3 回答

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊
您需要修改列表,而不是指向它的變量。正如其他人所提到的,您需要調(diào)用該函數(shù):
l = [1,2,3]
def f(passed_in_list):
different_list = [4,5,6]
passed_in_list[:] = different_list[:]
f(l)
print(l)

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
這讓我覺得這是一種危險(xiǎn)的設(shè)計(jì)模式,它創(chuàng)建了一個(gè)對(duì)全局范圍具有故意副作用的函數(shù)。我會(huì)小心地做這樣的事情。話雖如此,但看起來您似乎并未調(diào)用您的函數(shù),這可能就是您沒有看到預(yù)期內(nèi)容的原因。

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊
您需要實(shí)際調(diào)用您的函數(shù):
l = [1,2,3]
def f(passed_in_list):
passed_in_list[:] = [4,5,6]
f(l)
print(l)
產(chǎn)量:
[4, 5, 6]
添加回答
舉報(bào)