8.4傳遞列表
你經(jīng)常會發(fā)現(xiàn)试读,向函數(shù)傳遞列表很有用,這種列表包括的可能是名字训裆、數(shù)字或更復(fù)雜的對象(如字典)。將列表傳遞給函數(shù)后蜀铲,函數(shù)就能直接訪問其內(nèi)容边琉。
8.4.1在函數(shù)中修改列表
將列表傳遞給函數(shù)后,函數(shù)就可對其進行修改记劝。在函數(shù)中對這個列表所做的任何修改都是永久性的变姨,這讓你能夠高效地處理大量的數(shù)據(jù)。用到了.pop()和.append()厌丑。
每個函數(shù)都應(yīng)只負責(zé)一項具體的工作定欧。第一個函數(shù)打印每個設(shè)計,而第二個顯示打印好的模型怒竿,這優(yōu)于一個函數(shù)從事兩項工作砍鸠。如果編寫函數(shù)發(fā)現(xiàn)它執(zhí)行的任務(wù)太多,請嘗試將這些代碼劃分到兩個函數(shù)中耕驰∫瑁總是可以在一個函數(shù)中調(diào)用另一個函數(shù),這有助于將復(fù)雜的任務(wù)劃分成一系列的步驟。
8.4.2禁止函數(shù)修改列表
切片法[:]創(chuàng)建列表的副本饭弓。
雖然向函數(shù)傳遞列表的副本可以保留原始列表的內(nèi)容双饥。但除非有充分的理由需要傳遞副本,否則還是應(yīng)該將原始列表傳遞給函數(shù)示启。讓函數(shù)使用現(xiàn)場列表可以避免花時間和內(nèi)存創(chuàng)建副本兢哭,從而提供效率,在處理大型列表時尤其如此夫嗓。