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 初始化多维数组代码
Sep 06 Python
Python类的用法实例浅析
May 27 Python
Python中str is not callable问题详解及解决办法
Feb 10 Python
python中的内置函数max()和min()及mas()函数的高级用法
Mar 29 Python
Python 正则表达式匹配字符串中的http链接方法
Dec 25 Python
Python使用post及get方式提交数据的实例
Jan 24 Python
Numpy将二维数组添加到空数组的实现
Dec 05 Python
Django通用类视图实现忘记密码重置密码功能示例
Dec 17 Python
pycharm设置默认的UTF-8编码模式的方法详解
Jun 01 Python
Python+Appium实现自动化清理微信僵尸好友的方法
Feb 04 Python
总结Python常用的魔法方法
May 25 Python
python代码实现扫码关注公众号登录的实战
Nov 01 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
ThinkPHP自动验证失败的解决方法
2011/06/09 PHP
PHP实现根据图片色界在不同位置加水印的方法
2015/08/08 PHP
Javascript 获取字符串字节数的多种方法
2009/06/02 Javascript
深入认识javascript中的eval函数
2009/11/02 Javascript
Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据
2010/03/16 Javascript
jQuery的slideToggle方法实例
2013/05/07 Javascript
JS Loading功能的简单实现
2013/11/29 Javascript
jquery 合并内容相同的单元格(示例代码)
2013/12/13 Javascript
js完美的div拖拽实例代码
2014/01/22 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
2015/02/20 Javascript
jQuery模仿单选按钮选中效果
2016/06/24 Javascript
Javascript类型系统之undefined和null浅析
2016/07/13 Javascript
JS HTML5拖拽上传图片预览
2016/07/18 Javascript
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
2017/10/24 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
2018/04/26 Javascript
vue组件间的参数传递实例详解
2019/04/26 Javascript
从零搭一个自用的前端脚手架的方法步骤
2019/09/23 Javascript
js实现图片跟随鼠标移动效果
2019/10/16 Javascript
JS图片懒加载技术实现过程解析
2020/07/27 Javascript
vue使用svg文件补充-svg放大缩小操作(使用d3.js)
2020/09/22 Javascript
[47:35]VP vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
关于你不想知道的所有Python3 unicode特性
2014/11/28 Python
Python中的with...as用法介绍
2015/05/28 Python
利用Python为iOS10生成图标和截屏
2016/09/24 Python
windows下搭建python scrapy爬虫框架步骤
2018/12/23 Python
Python实现程序判断季节的代码示例
2019/01/28 Python
使用celery执行Django串行异步任务的方法步骤
2019/06/06 Python
在windows下使用python进行串口通讯的方法
2019/07/02 Python
django模型类中,null=True,blank=True用法说明
2020/07/09 Python
描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理
2015/03/25 面试题
2019年Java面试必问之经典试题
2012/09/12 面试题
期终自我鉴定
2014/02/17 职场文书
优秀广告词大全
2014/03/19 职场文书
建筑工地门卫岗位职责
2014/04/30 职场文书
员工保密承诺书
2014/05/28 职场文书
学会Python数据可视化必须尝试这7个库
2021/06/16 Python