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采用socket模拟TCP通讯的实现方法
Nov 19 Python
Python修改MP3文件的方法
Jun 15 Python
Python下载指定页面上图片的方法
May 12 Python
Python3实现并发检验代理池地址的方法
Sep 18 Python
python中logging库的使用总结
Oct 18 Python
python使用xslt提取网页数据的方法
Feb 23 Python
python3.4.3下逐行读入txt文本并去重的方法
Apr 29 Python
Python图像处理之图片文字识别功能(OCR)
Jul 30 Python
python内置模块collections知识点总结
Dec 19 Python
python3实现网页版raspberry pi(树莓派)小车控制
Feb 12 Python
通过实例了解python__slots__使用方法
Sep 14 Python
Pygame Time时间控制的具体使用详解
Nov 17 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图像处理类代码分享
2012/01/19 PHP
解析php做推送服务端实现ios消息推送
2013/07/01 PHP
php生成图形(Libchart)实例
2013/11/06 PHP
详解Window7 下开发php扩展
2015/12/31 PHP
jquery调取json数据实现省市级联的方法
2015/01/29 Javascript
JSON格式的键盘编码对照表
2015/01/29 Javascript
js实现刷新iframe的方法汇总
2015/04/27 Javascript
JQuery中基础过滤选择器用法实例分析
2015/05/18 Javascript
javascript实现滚动效果的数字时钟实例
2016/07/21 Javascript
JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法
2016/08/02 Javascript
JavaScript实现经典排序算法之插入排序
2016/12/28 Javascript
vue-cli+webpack记事本项目创建
2017/04/01 Javascript
React Native第三方平台分享的实例(Android,IOS双平台)
2017/08/04 Javascript
Vue 创建组件的两种方法小结(必看)
2018/02/23 Javascript
基于vue中解决v-for使用报红并出现警告的问题
2018/03/03 Javascript
Vue自定义指令上报Google Analytics事件统计的方法
2019/02/25 Javascript
详解使用pymysql在python中对mysql的增删改查操作(综合)
2017/01/18 Python
tensorflow实现对图片的读取的示例代码
2018/02/12 Python
Flask框架使用DBUtils模块连接数据库操作示例
2018/07/20 Python
python实现一个点绕另一个点旋转后的坐标
2019/12/04 Python
python 求两个向量的顺时针夹角操作
2021/03/04 Python
HTTP状态码详解
2021/03/18 杂记
最耐用行李箱,一箱永流传:Briggs & Riley(全球终身保修)
2017/12/07 全球购物
Stubhub英国:购买体育、演唱会和剧院门票
2018/06/10 全球购物
e路東瀛(JAPANiCAN)香港:日本旅游、日本酒店和温泉旅馆预订
2018/11/21 全球购物
TheFork葡萄牙:欧洲领先的在线餐厅预订平台
2019/05/27 全球购物
俄罗斯在线水暖商店:Perfecto.ru
2019/10/25 全球购物
机械专业毕业生推荐信范文
2013/11/25 职场文书
大学生职业生涯规划书的基本内容
2014/01/06 职场文书
早读迟到检讨书
2014/01/24 职场文书
解放思想大讨论活动心得体会
2014/09/11 职场文书
社区党员干部承诺书
2015/05/04 职场文书
《乘法分配律》教学反思
2016/02/24 职场文书
幼儿园教师教学反思
2016/03/02 职场文书
一年之计:2019年下半年的计划
2019/05/07 职场文书
JS继承最简单的理解方式
2021/03/31 Javascript