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

    xiaoxiao2021-03-25  105

    标题:禁止函数修改列表

    向函数传递列表的问题: 有时候,需要禁止函数修改列表。例如,你需要保留原来的列表,以供备案。 为了解决这个问题,可向函数传递列表的副本而不是原件,这样函数所做的任何修改都只影响副本,而丝毫不影响原件。 要将类表的副本传递给函数,可以进行如下操作: function_name(list_name[ : ] 下面是实例: 题目: 创建一个包含魔术师名字的列表,并将其传给show+magicians()的函数,这个函数打印列表中的所有魔术师名字; 编写一个make_great()函数,对魔术师列表进行修改,对每个魔术师的名字中都加入字样“the Great”,调用函数show_magicians(),确认魔术师列表确实变了; 在调用函数make_great()时,向它传递魔术师列表的副本,由于不想修改原始列表,请返回修改后的列表,并将其存储在另一个列表中,分别使用这两个列表来调用 show_magicians(),确认一个列表包含的是原来的魔术师名字,而另一个列表包含的是添加了字样"The Great"的魔术师名字。 实例代码: def show_magicians(new_magicians): #打印函数 """显示打印好的元素""" print("\nThe following : ") for magician in new_magicians: #遍历列表 print(magician.title()) def make_great(magicians,new_magicians): #对列表修改的函数 while magicians: current_magician = magicians.pop() #删除原列表中的元素 current_magician = "The Great " + current_magician new_magicians.append(current_magician) magicians = ['tom','jack','marry'] #创建魔术师列表 new_magicians = [] #用于保存修改后的列表元素 make_great(magicians[:],new_magicians) #传递列表副本 show_magicians(new_magicians) #调用show_magician()函数 show_magicians(magicians)

    运行结果:这里写代码片 The following : The Great Marry The Great Jack The Great Tom

    The following : Tom Jack Marry


    --- Thank you!---
    转载请注明原文地址: https://ju.6miu.com/read-14611.html

    最新回复(0)