Python中如何向函數(shù)傳遞列表
把列表傳遞給函數(shù)后, 函數(shù)就能直接訪問列表中的內(nèi)容咯。
假設(shè)有一組專家,我們想邀請他們參加研討會。
def send_invitation(experts): ? ? '''發(fā)送邀請函''' ? ? for expert in experts: ? ? ? ? print(expert + ',您好,現(xiàn)邀請您參加 XX 研討會...') experts = ['小明', '小紅'] send_invitation(experts)
運行結(jié)果:
小明,您好,現(xiàn)邀請您參加 XX 研討會…
黃莉莉,您好,現(xiàn)邀請您參加 XX 研討會…
1 修改列表
列表參數(shù)傳遞給函數(shù)后, 函數(shù)就可以對其進行修改。
注意:在函數(shù)中對列表所進行的任何修改都是永久性的。
def send_invitation(experts, informed): ? ? '''發(fā)送邀請函,并移動列表數(shù)據(jù)到【已通知】列表''' ? ? while experts: ? ? ? ? expert = experts.pop() ? ? ? ? print(expert + ',您好,現(xiàn)邀請您參加 XX 研討會...') ? ? ? ? informed.append(expert) experts = ['小明', '小紅'] ?# 專家列表 informed = [] ?# 已通知人員列表 print('執(zhí)行前:experts=' + str(experts) + ',informed=' + str(informed)) send_invitation(experts, informed) print('執(zhí)行后:experts=' + str(experts) + ',informed=' + str(informed))
運行結(jié)果:
執(zhí)行前:experts=['小明', '小紅'],informed=[]
小紅,您好,現(xiàn)邀請您參加 XX 研討會...
小明,您好,現(xiàn)邀請您參加 XX 研討會...
執(zhí)行后:experts=[],informed=['小紅', '小明']
即使沒有注釋,那些具有描述性的函數(shù)名也能清晰地表達出函數(shù)所做的工作。
我們也可以在一個函數(shù)中調(diào)用另一個函數(shù), 這樣有助于將復(fù)雜的任務(wù)分解為一系列的步驟,讓程序變得更具可讀性。
2 只讀列表
有時候,我們并不想讓函數(shù)修改傳遞進去的列表,
這時我們可以向函數(shù)傳遞列表的副本:
experts = ['小明', '小紅'] # 專家列表 informed = [] # 已通知人員列表 print('執(zhí)行前:experts=' + str(experts) + ',informed=' + str(informed)) send_invitation(experts[:], informed) print('執(zhí)行后:experts=' + str(experts) + ',informed=' + str(informed))
運行結(jié)果:
執(zhí)行前:experts=['小明', '小紅'],informed=[]
小紅,您好,現(xiàn)邀請您參加 XX 研討會...
小明,您好,現(xiàn)邀請您參加 XX 研討會...
執(zhí)行后:experts=['小明', '小紅'],informed=['小紅', '小明']
雖然向函數(shù)傳遞列表的副本可以保留原始列表的內(nèi)容,
但除非有充分的理由需要這樣做。
因為讓函數(shù)使用傳遞進行的列表可以避免花時間
在內(nèi)存中創(chuàng)建副本,從而提高性能,這在處理大數(shù)據(jù)列表時尤其需要注意。
到此這篇關(guān)于Python中如何向函數(shù)傳遞列表的文章就介紹到這了,更多相關(guān)Python 函數(shù)傳遞列表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中使用print函數(shù)進行不換行打印問題
這篇文章主要介紹了Python中使用print函數(shù)進行不換行打印問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02pygame學(xué)習(xí)筆記之設(shè)置字體及顯示中文
游戲界面中文字也是非常常見的元素之一,pygame專門提供了Font模塊來支持文字的顯示,下面這篇文章主要給大家介紹了關(guān)于pygame學(xué)習(xí)筆記之設(shè)置字體及顯示中文的相關(guān)資料,需要的朋友可以參考下2022-07-07基于PyQt5實現(xiàn)圖轉(zhuǎn)文功能(示例代碼)
PyQt提供了一個設(shè)計良好的窗口控件集合,具有更方便的操作性。學(xué)過VB的同學(xué)會知道,相比與VB的使用,在界面設(shè)計上元素更豐富,這篇文章主要介紹了基于PyQt5完成的圖轉(zhuǎn)文功能,需要的朋友可以參考下2022-06-06Python學(xué)習(xí)筆記之列表推導(dǎo)式實例分析
這篇文章主要介紹了Python學(xué)習(xí)筆記之列表推導(dǎo)式,結(jié)合實例形式分析Python列表推導(dǎo)式的原理、寫法與相關(guān)使用技巧,需要的朋友可以參考下2019-08-08Python如何快速生成本項目的requeirments.txt實現(xiàn)
本文主要介紹了Python如何快速生成本項目的requeirments.txt實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03pyinstaller打包exe程序的步驟和添加依賴文件的實現(xiàn)
這篇文章主要介紹了pyinstaller打包exe程序的步驟和添加依賴文件的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02