Python中如何禁止函数修改列表
2017-03-09 18:05
405 查看
标题:禁止函数修改列表
向函数传递列表的问题: 有时候,需要禁止函数修改列表。例如,你需要保留原来的列表,以供备案。 为了解决这个问题,可向函数传递列表的副本而不是原件,这样函数所做的任何修改都只影响副本,而丝毫不影响原件。 要将类表的副本传递给函数,可以进行如下操作:
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 MarryThe Great JackThe Great TomThe following :TomJackMarry
--- Thank you!---
相关文章推荐
- python 禁止函数修改列表的实现方法
- python 函数如何不修改原始列表
- python 9-4 如何实现属性可修改的函数装饰器,python3 nolocal或者在python2中列表方式
- python内部函数如何修改外部函数变量
- Python_函数对列表的修改是永久性的吗?——遗留问题(2018/1/14)----貌似查明原因(2018/1/16)
- 如何修改栈结构统计每个DLL的函数使用信息
- ABAP--如何在ALV_Grid的函数中定义下拉列表
- ABAP--如何在ALV_Grid的函数中定义下拉列表
- 用NextInstaller做安装盘时,如何在修改安装的对话框中禁止 "修改" 这一项
- 如何限制修改IP地址;如何禁止显示的本地连接属性
- 如何通过修改注册表来禁止使用U盘
- 如何修改使用 DocumentProperties() 函数的打印机设置
- 如何在修改安装的对话框中禁止 "修改" 这一项
- magento -- 如何修改产品列表默认排序
- magento -- 如何修改后台列表(Grid)的默认行数
- MOSS : 如何动态修改列表视图定义
- 如何修改注册表禁止F5和鼠标右键刷新桌面
- MOSS : 如何动态修改列表视图定义
- IE的各种设置列表及禁止修改IE主页
- ABAP--如何在ALV_Grid的函数中定义下拉列表