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 相关文章推荐
urllib2自定义opener详解
Feb 07 Python
在windows系统中实现python3安装lxml
Mar 23 Python
Python 2与Python 3版本和编码的对比
Feb 14 Python
Python中with及contextlib的用法详解
Jun 08 Python
Pyspider中给爬虫伪造随机请求头的实例
May 07 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
Aug 06 Python
Python3 全自动更新已安装的模块实现
Jan 06 Python
python定义类的简单用法
Jul 24 Python
Python实例方法、类方法、静态方法区别详解
Sep 05 Python
python中复数的共轭复数知识点总结
Dec 06 Python
Opencv 图片的OCR识别的实战示例
Mar 02 Python
django使用多个数据库的方法实例
Mar 04 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
对Session和Cookie的区分与解释
2007/03/16 PHP
php使用mkdir创建多级目录入门例子
2014/05/10 PHP
PHP防止注入攻击实例分析
2014/11/03 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
2016/10/18 PHP
PHP时间处理类操作示例
2018/09/05 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
jQuery 判断元素上是否绑定了事件
2009/10/28 Javascript
javascript+mapbar实现地图定位
2010/04/09 Javascript
js通过googleAIP翻译PHP系统的语言配置的实现代码
2011/10/17 Javascript
JavaScript表格常用操作方法汇总
2015/04/15 Javascript
js实现4个方向滚动的球
2017/03/06 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
细说webpack源码之compile流程-rules参数处理技巧(2)
2017/12/26 Javascript
利用React Router4实现的服务端直出渲染(SSR)
2019/01/07 Javascript
微信小程序新手教程之启动页的重要性
2019/03/03 Javascript
js作用域和作用域链及预解析
2019/04/11 Javascript
详解js获取video任意时间的画面截图
2019/04/17 Javascript
vue视频播放暂停代码
2019/11/08 Javascript
python模拟新浪微博登陆功能(新浪微博爬虫)
2013/12/24 Python
Python单元测试框架unittest使用方法讲解
2015/04/13 Python
用Python的Django框架编写从Google Adsense中获得报表的应用
2015/04/17 Python
python基于multiprocessing的多进程创建方法
2015/06/04 Python
Python实现发送与接收邮件的方法详解
2018/03/28 Python
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
2018/12/20 Python
pygame库实现俄罗斯方块小游戏
2019/10/29 Python
Python sql注入 过滤字符串的非法字符实例
2020/04/03 Python
对python中list的五种查找方法说明
2020/07/13 Python
html5读取本地文件示例代码
2014/04/22 HTML / CSS
AJAX检测用户名是否存在的方法
2021/03/24 Javascript
机械专业应届生求职信
2013/09/21 职场文书
大学自我鉴定范文
2013/12/26 职场文书
人力资源专员岗位职责
2014/01/30 职场文书
法人委托书范本
2014/04/04 职场文书
运动会口号霸气押韵
2015/12/24 职场文书
2019年“我为祖国点赞”演讲稿(3篇)
2019/09/26 职场文书
六年级情感作文之500字
2019/10/23 职场文书