python 禁止函數(shù)修改列表的實(shí)現(xiàn)方法
有時(shí)候,需要禁止函數(shù)修改列表。例如要對(duì)裂變進(jìn)行修改操作,也要保留原來(lái)的未打印的設(shè)計(jì)列表,以供備案。為解決這個(gè)問(wèn)題,可向函數(shù)傳遞列表的副本而不是原件;這樣函數(shù)所做的任何修改都只影響副本,而絲毫不影響原件。
function_name(list_name[:])
8-9 魔術(shù)師 魔術(shù)師 :創(chuàng)建一個(gè)包含魔術(shù)師名字的列表,并將其傳遞給一個(gè)名為show_magicians() 的函數(shù),這個(gè)函數(shù)打印列表中每個(gè)魔術(shù)師的名字。 8-10 了不起的魔術(shù)師 了不起的魔術(shù)師 :在你為完成練習(xí)
8-9編寫(xiě)一個(gè)名為make_great() 的函數(shù),對(duì)魔術(shù)師列表進(jìn)行修改,在每個(gè)魔術(shù)師的名字中都加入字樣“the Great”。調(diào)用函數(shù)show_magicians() ,確認(rèn)魔術(shù)師列表確實(shí)變了。
8-11 不變的魔術(shù)師 不變的魔術(shù)師 :修改你為完成練習(xí)8-10而編寫(xiě)的程序,在調(diào)用函數(shù)make_great() 時(shí),向它傳遞魔術(shù)師列表的副本。由于不想修改原始列表,請(qǐng)返回修改后的 列表,并將其存儲(chǔ)到另一個(gè)列表中。分別使用這兩個(gè)列表來(lái)調(diào)用show_magicians() ,確認(rèn)一個(gè)列表包含的是原來(lái)的魔術(shù)師名字,而另一個(gè)列表包含的是添加了字 樣“the Great”的魔術(shù)師名字。
def make_great(magicians,new_magicians): #對(duì)列表修改的函數(shù) while magicians: current_magician = magicians.pop() #刪除原列表中的元素 current_magician = "The Great " + current_magician new_magicians.append(current_magician) def show_magicians(new_magicians): for magician in new_magicians: #便利所有的magicians中的元素 print(magician) magicians = ['fake','ppd','moon'] new_magicians = [] make_great(magicians[:],new_magicians)#調(diào)用函數(shù)make_great 傳遞magicians[]副表magicians[:] show_magicians(new_magicians)#輸出新表 show_magicians(magicians)#輸入原表
執(zhí)行結(jié)果:
The Great moon The Great ppd The Great fake fake ppd moon
以上這篇python 禁止函數(shù)修改列表的實(shí)現(xiàn)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python實(shí)現(xiàn)常見(jiàn)的幾種加密算法(MD5,SHA-1,HMAC,DES/AES,RSA和ECC)
這篇文章主要介紹了Python實(shí)現(xiàn)常見(jiàn)的幾種加密算法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05關(guān)于pytorch中網(wǎng)絡(luò)loss傳播和參數(shù)更新的理解
今天小編就為大家分享一篇關(guān)于pytorch中網(wǎng)絡(luò)loss傳播和參數(shù)更新的理解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08Python使用tarfile模塊實(shí)現(xiàn)免費(fèi)壓縮解壓
Python自帶的tarfile模塊可以方便讀取tar歸檔文件,厲害的是可以處理使用gzip和bz2壓縮歸檔文件tar.gz和tar.bz2,這篇文章主要介紹了Python使用tarfile模塊實(shí)現(xiàn)免費(fèi)壓縮解壓,需要的朋友可以參考下2024-03-03pandas DataFrame 根據(jù)多列的值做判斷,生成新的列值實(shí)例
今天小編就為大家分享一篇pandas DataFrame 根據(jù)多列的值做判斷,生成新的列值實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05K近鄰法(KNN)相關(guān)知識(shí)總結(jié)以及如何用python實(shí)現(xiàn)
這篇文章主要介紹了K近鄰法(KNN)相關(guān)知識(shí)總結(jié)以及如何用python實(shí)現(xiàn),幫助大家更好的利用python實(shí)現(xiàn)機(jī)器學(xué)習(xí),感興趣的朋友可以了解下2021-01-01對(duì)pandas的行列名更改與數(shù)據(jù)選擇詳解
今天小編就為大家分享一篇對(duì)pandas的行列名更改與數(shù)據(jù)選擇詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11tensorflow訓(xùn)練中出現(xiàn)nan問(wèn)題的解決
本篇文章主要介紹了tensorflow訓(xùn)練中出現(xiàn)nan問(wèn)題的解決,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02PyTorch 對(duì)應(yīng)點(diǎn)相乘、矩陣相乘實(shí)例
今天小編就為大家分享一篇PyTorch 對(duì)應(yīng)點(diǎn)相乘、矩陣相乘實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12