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編寫一個(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而編寫的程序,在調(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 遍歷可迭代對(duì)象的實(shí)現(xiàn)方法
本文主要介紹了python 遍歷可迭代對(duì)象的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
python圖的深度優(yōu)先和廣度優(yōu)先算法實(shí)例分析
這篇文章主要介紹了python圖的深度優(yōu)先和廣度優(yōu)先算法,結(jié)合實(shí)例形式分析了圖的深度優(yōu)先算法與廣度優(yōu)先算法相關(guān)概念、原理、實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下2019-10-10
淺談python中字典append 到list 后值的改變問(wèn)題
今天小編就為大家分享一篇淺談python中字典append 到list 后值的改變問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
python內(nèi)置函數(shù)之eval函數(shù)詳解
這篇文章主要為大家介紹了python內(nèi)置函數(shù)之eval函數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-01-01
Python實(shí)現(xiàn)將數(shù)據(jù)寫入netCDF4中的方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)將數(shù)據(jù)寫入netCDF4中的方法,涉及Python數(shù)據(jù)處理與文件讀寫相關(guān)操作技巧,需要的朋友可以參考下2018-08-08
Python實(shí)現(xiàn)Web指紋識(shí)別實(shí)例
這篇文章主要來(lái)帶大家探索Web指紋識(shí)別:了解主流識(shí)別方式,從標(biāo)題到指紋讀取網(wǎng)站信息的簡(jiǎn)單方法,揭秘Web指紋識(shí)別 關(guān)鍵字、哈希和URL的魔力2023-10-10
python中tf.boolean_mask()函數(shù)的使用方法詳解
這篇文章主要介紹了python中tf.boolean_mask()函數(shù)的使用方法詳解,?tf.boolean_mask()?函數(shù)的作用是通過(guò)布爾值對(duì)指定的列的元素進(jìn)行過(guò)濾,需要的朋友可以參考下2023-11-11
Python標(biāo)準(zhǔn)庫(kù)之加密模塊詳解
這篇文章主要為大家詳細(xì)介紹了Python標(biāo)準(zhǔn)庫(kù)中加密模塊的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下2023-07-07

