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操作Oracle数据库的简单方法和封装类实例
May 07 Python
python selenium 对浏览器标签页进行关闭和切换的方法
May 21 Python
Python实现的括号匹配判断功能示例
Aug 25 Python
django session完成状态保持的方法
Nov 27 Python
python3.6下Numpy库下载与安装图文教程
Apr 02 Python
手把手教你使用Python创建微信机器人
Apr 29 Python
python制作英语翻译小工具代码实例
Sep 09 Python
Java文件与类动手动脑实例详解
Nov 10 Python
python实现批量转换图片为黑白
Jun 16 Python
Python内存泄漏和内存溢出的解决方案
Sep 26 Python
Python实现壁纸下载与轮换
Oct 19 Python
Django与数据库交互的实现
Jun 03 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
用js做一个小游戏平台 (一)
2009/12/29 Javascript
js 键盘记录实现(兼容FireFox和IE)
2010/02/07 Javascript
基于jQuery的弹出警告对话框美化插件(警告,确认和提示)
2010/06/10 Javascript
JS实现图片翻书效果示例代码
2013/09/09 Javascript
使用jquery 简单实现下拉菜单
2015/01/14 Javascript
AngularJS基础教程之简单介绍
2015/09/27 Javascript
JS实现图片的不间断连续滚动的简单实例
2016/06/03 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
2016/07/28 Javascript
Bootstrap Table表格一直加载(load)不了数据的快速解决方法
2016/09/17 Javascript
Vue.js实现拖放效果的实例
2016/09/30 Javascript
JS只能输入正整数的简单实例
2016/10/07 Javascript
axios简单实现小程序延时loading指示
2018/07/30 Javascript
Vue+Django项目部署详解
2019/05/30 Javascript
[01:35:53]完美世界DOTA2联赛PWL S3 Magma vs GXR 第二场 12.13
2020/12/17 DOTA
如何利用python制作时间戳转换工具详解
2018/09/12 Python
python实现两张图片拼接为一张图片并保存
2019/07/16 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
2020/03/14 Python
python模拟实现分发扑克牌
2020/04/22 Python
python使用列表的最佳方案
2020/08/12 Python
python 绘制国旗的示例
2020/09/27 Python
Python爬虫之Selenium警告框(弹窗)处理
2020/12/04 Python
pyqt5实现井字棋的示例代码
2020/12/07 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
2021/01/27 Python
用HTML5制作烟火效果的教程
2015/05/12 HTML / CSS
aden + anais官方网站:婴儿襁褓、毯子、尿布和服装
2017/06/21 全球购物
大唐电信科技股份有限公司java工程师面试经历
2016/12/09 面试题
测量实习生自我鉴定
2013/09/19 职场文书
资深地理教师自我评价
2013/09/21 职场文书
物理研修随笔感言
2014/02/14 职场文书
多媒体专业自我鉴定
2014/02/28 职场文书
党的群众路线教育实践活动对照检查材料(四风)
2014/09/27 职场文书
撤诉状格式范本
2015/05/19 职场文书
药房管理制度范本
2015/08/06 职场文书
企业法律事务工作总结
2015/08/11 职场文书
利用uni-app生成微信小程序的踩坑记录
2022/04/05 Javascript
微信小程序APP页面的之间的相互传递参数以及自定义组件
2022/04/19 Javascript