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

2022-10-04 21:00:37 字數 1364 閱讀 5125

有時候,需要禁止函式izwkxjcb修改列表。例如要對裂變進行修改操作,也要保留原來的未列印的設計列表,以供備案。為解決這個問題,可向函式傳遞列表的副本而不是原件;這樣函式所做的任何修改都只影響副本,而絲毫不影響原件。

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

ppdmoon

本文標題: python 禁止函式修改列表的實現方法

本文位址: /jiaoben/python/198493.html

Python中如何禁止函式修改列表

向函式傳遞列表的問題 有時候,需要禁止函式修改列表。例如,你需要保留原來的列表,以供備案。為了解決這個問題,可向函式傳遞列表的副本而不是原件,這樣函式所做的任何修改都只影響副本,而絲毫不影響原件。要將類表的副本傳遞給函式,可以進行如下操作 function name list name 下面是例項 ...

列表修改問題 python

乙個列表,同時被多處引用時,其中一處修改列表中的元素,其他處的列表也都相應的修改了 例如 當修改某處的列表時 所列表相同位置的元素都修改了 換一種寫法 d 然後再修改某個列表的元素 結果就不同了 這裡如果引入指標的概念,應該可以這麼理解,第一種列表在記憶體中只開闢了一處儲存空間,所有的列表都是指向同...

Python修改列表元素

修改列表元素 python中修改列表元素的方法為,直接將列表中要修改的元素索引指出,然後為其指定新值。其基本語法如下 source list index obj 其中,source list 為待修改的列表 index 為待修改元素的位置索引 obj 為待元素的新值 例如,將請客名單guests列表...