python 禁止函数修改列表的实现方法


Posted in Python onAugust 03, 2017

有时候,需要禁止函数修改列表。例如要对裂变进行修改操作,也要保留原来的未打印的设计列表,以供备案。为解决这个问题,可向函数传递列表的副本而不是原件;这样函数所做的任何修改都只影响副本,而丝毫不影响原件。

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中的rjust()方法使用详解
May 19 Python
Python编程之基于概率论的分类方法:朴素贝叶斯
Nov 11 Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
Apr 26 Python
python正则表达式去除两个特殊字符间的内容方法
Dec 24 Python
解决pyinstaller打包pyqt5的问题
Jan 08 Python
Python 获取numpy.array索引值的实例
Dec 06 Python
pytorch实现从本地加载 .pth 格式模型
Feb 14 Python
python连接mysql数据库并读取数据的实现
Sep 25 Python
python设置中文界面实例方法
Oct 27 Python
Python爬虫回测股票的实例讲解
Jan 22 Python
pytorch显存一直变大的解决方案
Apr 08 Python
matlab xlabel位置的设置方式
May 21 Python
详解Python函数可变参数定义及其参数传递方式
Aug 02 #Python
详解Python import方法引入模块的实例
Aug 02 #Python
Python字符串拼接的几种方法整理
Aug 02 #Python
详解 Python 读写XML文件的实例
Aug 02 #Python
Python MD5加密实例详解
Aug 02 #Python
Python 获取当前所在目录的方法详解
Aug 02 #Python
浅谈python中的数字类型与处理工具
Aug 02 #Python
You might like
第十二节--类的自动加载
2006/11/16 PHP
PHP中数组的分组排序实例
2014/06/01 PHP
PHP 访问数据库配置通用方法(json)
2018/05/20 PHP
Laravel6.0.4中将添加计划任务事件的方法步骤
2019/10/15 PHP
基于JQuery的6个Tab选项卡插件
2010/09/03 Javascript
js登录弹出层特效
2014/03/07 Javascript
json实现前后台的相互传值详解
2015/01/05 Javascript
javascript中sort() 方法使用详解
2015/08/30 Javascript
Three.js利用orbit controls插件(轨道控制)控制模型交互动作详解
2017/09/25 Javascript
vue-cli 3.x配置跨域代理的实现方法
2019/04/12 Javascript
vue 中Virtual Dom被创建的方法
2019/04/15 Javascript
JQuery特殊效果和链式调用操作示例
2019/05/13 jQuery
小程序实现搜索框功能
2020/03/26 Javascript
基于JavaScript伪随机正态分布代码实例
2019/11/07 Javascript
[01:02:02]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第二局
2016/02/25 DOTA
[00:33]2016完美“圣”典风云人物:Sccc宣传片
2016/12/03 DOTA
Python实现随机生成有效手机号码及身份证功能示例
2017/06/05 Python
Python列表推导式与生成器用法分析
2018/08/02 Python
Python定时任务APScheduler的实例实例详解
2019/07/22 Python
Python搭建代理IP池实现接口设置与整体调度
2019/10/27 Python
flask框架自定义url转换器操作详解
2020/01/25 Python
pycharm-professional-2020.1下载与激活的教程
2020/09/21 Python
Pytorch1.5.1版本安装的方法步骤
2020/12/31 Python
css3实现简单的白云飘动背景特效
2020/10/28 HTML / CSS
使用数据结构给女朋友写个Html5走迷宫游戏
2019/11/26 HTML / CSS
Philosophy美国官网:美国美容品牌
2016/08/15 全球购物
Expedia瑞典官网:预订度假屋、酒店、汽车租赁、机票等
2021/01/23 全球购物
成人大专自我鉴定范文
2013/10/19 职场文书
手机银行营销方案
2014/03/14 职场文书
建筑投标担保书
2014/05/20 职场文书
八荣八耻的活动方案
2014/08/16 职场文书
学习考察心得体会
2014/09/04 职场文书
股东合作协议书
2014/09/12 职场文书
2015年校长新年寄语
2014/12/08 职场文书
学生检讨书怎么写
2015/05/07 职场文书
优秀的商业计划书,让融资一步到位
2019/05/07 职场文书