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实现矩阵转置的方法分析
Nov 24 Python
Python生成8位随机字符串的方法分析
Dec 05 Python
对python 矩阵转置transpose的实例讲解
Apr 17 Python
Python实现判断一行代码是否为注释的方法
May 23 Python
python正则表达式去除两个特殊字符间的内容方法
Dec 24 Python
Python简单过滤字母和数字的方法小结
Jan 09 Python
详解PyCharm安装MicroPython插件的教程
Jun 24 Python
解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
Jul 15 Python
基于python进行抽样分布描述及实践详解
Sep 02 Python
TensorFlow保存TensorBoard图像操作
Jun 23 Python
Python把图片转化为pdf代码实例
Jul 28 Python
python中复数的共轭复数知识点总结
Dec 06 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
二十行语句实现从Excel到mysql的转化
2006/10/09 PHP
PHP自动选择 连接本地还是远程数据库
2010/12/02 PHP
非常棒的10款jQuery 幻灯片插件
2011/06/14 Javascript
解决javascript:window.close()在chrome,Firefox下失效的问题
2013/05/07 Javascript
jQuery EasyUI中DataGird动态生成列的方法
2016/04/05 Javascript
JavaScript 数组- Array的方法总结(推荐)
2016/07/21 Javascript
JS触摸与手势事件详解
2017/05/09 Javascript
AngularJS+bootstrap实现动态选择商品功能示例
2017/05/17 Javascript
react路由配置方式详解
2017/08/07 Javascript
JS实现按钮添加背景音乐示例代码
2017/10/17 Javascript
详解javascript replace高级用法
2019/02/17 Javascript
jQuery zTree插件使用简单教程
2019/08/16 jQuery
VueQuillEditor富文本上传图片(非base64)
2020/06/03 Javascript
原生JS实现记忆翻牌游戏
2020/07/31 Javascript
如何利用 JS 脚本实现网页全自动秒杀抢购功能
2020/10/12 Javascript
[47:43]Alliance vs KG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python实现的朴素贝叶斯分类器示例
2018/01/06 Python
Python cookbook(数据结构与算法)对切片命名清除索引的方法
2018/03/13 Python
python实现换位加密算法的示例
2018/10/14 Python
对Python 3.2 迭代器的next函数实例讲解
2018/10/18 Python
Django页面数据的缓存与使用的具体方法
2019/04/23 Python
Python列表的切片实例讲解
2019/08/20 Python
python模块导入的方法
2019/10/24 Python
pytorch 自定义参数不更新方式
2020/01/06 Python
python 获取当前目录下的文件目录和文件名实例代码详解
2020/03/10 Python
怎么快速自学python
2020/06/22 Python
python collections模块的使用
2020/10/16 Python
June Jacobs尊积帕官网:知名的spa水疗护肤品牌
2019/03/21 全球购物
Magee 1866官网:Donegal粗花呢外套和大衣专家
2019/11/01 全球购物
Shell编程面试题
2012/05/30 面试题
执行总经理岗位职责
2014/02/03 职场文书
私营公司诉讼代理委托书范本
2014/09/13 职场文书
整改落实情况汇报材料
2014/10/29 职场文书
夫妻忠诚协议范文
2014/11/16 职场文书
2014工程部年度工作总结
2014/12/17 职场文书
解决goland 导入项目后import里的包报红问题
2021/05/06 Golang