下面小編就爲大家帶來一篇python 禁止函數修改列表的實現方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
有時候,需要禁止函數修改列表。例如要對裂變進行修改操作,也要保留原來的未打印的設計列表,以供備案。爲解決這個問題,可向函數傳遞列表的副本而不是原件;這樣函數所做的任何修改都隻影響副本,而絲毫不影響原件
function_name(list_name[:])
8-9 魔術師 魔術師 :創建一個包含魔術師名字的列表,並將其傳遞給一個名爲show_magicians() 的函數,這個函數打印列表中每個魔術師的名字。 8-10 了不起的魔術師 了不起的魔術師 :在你爲完成練習
8-9編寫一個名爲make_great() 的函數,對魔術師列表進行修改,在每個魔術師的名字中都加入字樣“the Great”。調用函數show_magicians() ,確認魔術師列表確實變了。
8-11 不變的魔術師 不變的魔術師 :修改你爲完成練習8-10而編寫的程序,在調用函數make_great() 時,向它傳遞魔術師列表的副本。由於不想修改原始列表,請返回修改後的 列表,並將其存儲到另一個列表中。分別使用這兩個列表來調用show_magicians() ,確認一個列表包含的是原來的魔術師名字,而另一個列表包含的是添加了字 樣“the Great”的魔術師名字。
def make_great(magicians,new_magicians): #對列表修改的函數
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)#調用函數make_great 傳遞magicians[]副表magicians[:]
show_magicians(new_magicians)#輸出新表
show_magicians(magicians)#輸入原表
執行結果:
The Great moon
The Great ppd
The Great fake
fake
ppd
moon
寫到這裏,給大家推薦一個資源很全的python學習聚集地,點擊進入,這裏有資深程序員分享以前學習
心得,學習筆記,還有一線企業的工作經驗,且給大家精心整理一份python零基礎到項目實戰的資料,
每天給大家講解python最新的技術,前景,學習需要留言的小細節
以上這篇python 禁止函數修改列表的實現方法就是小編分享給大家的全部內容了