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 相关文章推荐
Python3实现连接SQLite数据库的方法
Aug 23 Python
进一步探究Python的装饰器的运用
May 05 Python
深入解析Python中的WSGI接口
May 11 Python
pygame游戏之旅 创建游戏窗口界面
Nov 20 Python
nohup后台启动Python脚本,log不刷新的解决方法
Jan 14 Python
详解Django+uwsgi+Nginx上线最佳实战
Mar 14 Python
Django 数据库同步操作技巧详解
Jul 19 Python
python 根据字典的键值进行排序的方法
Jul 24 Python
Python Django框架模板渲染功能示例
Nov 08 Python
解决pytorch DataLoader num_workers出现的问题
Jan 14 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
Jan 14 Python
基于python+selenium自动健康打卡的实现代码
Jan 13 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
PHP垃圾回收机制引用计数器概念分析
2013/06/24 PHP
PHP中include与require使用方法区别详解
2013/10/19 PHP
基于PHP的简单采集数据入库程序
2014/07/30 PHP
使用PHP similar text计算两个字符串相似度
2015/11/06 PHP
详解php比较操作符的安全问题
2015/12/03 PHP
PHP下载远程图片的几种方法总结
2017/04/07 PHP
PHP中的Iterator迭代对象属性详解
2019/04/12 PHP
jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
2010/10/20 Javascript
js中top的作用深入剖析
2014/03/04 Javascript
php读取sqlite数据库入门实例代码
2014/06/25 Javascript
使用jquery prev()方法找到同级的前一个元素
2014/07/11 Javascript
Windows 系统下设置Nodejs NPM全局路径
2016/04/26 NodeJs
使用JQuery选择HTML遍历函数的方法
2016/09/17 Javascript
jQuery 特性操作详解及实例代码
2016/09/29 Javascript
JS判断是否手机或pad访问实现方法
2016/12/09 Javascript
JS仿京东移动端手指拨动切换轮播图效果
2020/04/10 Javascript
Angular.js初始化之ng-app的自动绑定与手动绑定详解
2017/07/31 Javascript
node的process以及child_process模块学习笔记
2018/03/06 Javascript
关于HTML5的data-*自定义属性的总结
2018/05/05 Javascript
jquery获取img的src值实例介绍
2019/01/16 jQuery
如何正确理解vue中的key详解
2019/11/02 Javascript
ES6 Symbol在对象中的作用实例分析
2020/06/06 Javascript
用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
2014/07/14 Python
python如何以表格形式打印输出的方法示例
2019/06/21 Python
详解python中*号的用法
2019/10/21 Python
Python通过4种方式实现进程数据通信
2020/03/12 Python
JD Sports德国官网:英国领先的运动鞋和运动服饰零售商
2018/02/26 全球购物
英国女性时尚鞋类的潮流制造者:Koi Footwear
2018/10/19 全球购物
抽象方法、抽象类怎样声明
2014/10/25 面试题
项目副经理岗位职责
2013/12/30 职场文书
公司合作意向书
2014/04/01 职场文书
学习张丽丽心得体会
2014/09/03 职场文书
纪念九一八事变演讲稿:忘记意味着背叛
2014/09/14 职场文书
读《瓦尔登湖》有感:每个人都需要一个瓦尔登湖
2019/10/17 职场文书
Java输出Hello World完美过程解析
2021/06/13 Java/Android
大脑的记忆过程在做数据压缩,不同图形也有共同的记忆格式
2022/04/29 数码科技