有時候,需要禁止函式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列表...