python 禁止函數修改列表的實現方法

下面小編就爲大家帶來一篇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 禁止函數修改列表的實現方法就是小編分享給大家的全部內容了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章