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的几种开发工具介绍
Mar 07 Python
Python3基础之条件与循环控制实例解析
Aug 13 Python
使用Python编写类UNIX系统的命令行工具的教程
Apr 15 Python
python获取程序执行文件路径的方法(推荐)
Apr 26 Python
一篇文章搞懂Python的类与对象名称空间
Dec 10 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
Dec 24 Python
pycharm修改界面主题颜色的方法
Jan 17 Python
python numpy实现文件存取的示例代码
May 26 Python
pymysql模块的操作实例
Dec 17 Python
pandas创建DataFrame的7种方法小结
Jun 14 Python
利用python+ffmpeg合并B站视频及格式转换的实例代码
Nov 24 Python
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
Apr 05 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
第十五节--Zend引擎的发展
2006/11/16 PHP
使用php显示搜索引擎来的关键词
2014/02/13 PHP
php删除左端与右端空格的方法
2014/11/29 PHP
php短址转换实现方法
2015/02/25 PHP
PHP准确取得服务器IP地址的方法
2015/06/02 PHP
PHP使用mongoclient简单操作mongodb数据库示例
2019/02/08 PHP
Javascript 中的 call 和 apply使用介绍
2012/02/22 Javascript
js获取网页高度(详细整理)
2012/12/28 Javascript
JQuery实现表格中相同单元格合并示例代码
2013/06/26 Javascript
如何从jQuery的ajax请求中删除X-Requested-With
2013/12/11 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
2014/06/26 Javascript
jQuery设置和移除文本框默认值的方法
2015/03/09 Javascript
全面解析Bootstrap表单使用方法(表单控件)
2015/11/24 Javascript
Chrome浏览器的alert弹窗禁止再次弹出后恢复的方法
2016/12/30 Javascript
详解微信小程序 template添加绑定事件
2017/06/23 Javascript
VUE基于NUXT的SSR 服务端渲染
2018/11/30 Javascript
node删除、复制文件或文件夹示例代码
2019/08/13 Javascript
使用axios发送post请求,将JSON数据改为form类型的示例
2019/10/31 Javascript
Node.js中出现未捕获异常的处理方法
2020/06/29 Javascript
python 使用get_argument获取url query参数
2017/04/28 Python
Python3实现获取图片文字里中文的方法分析
2018/12/13 Python
python使用插值法画出平滑曲线
2018/12/15 Python
python实现大文本文件分割
2019/07/22 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
Python中的全局变量如何理解
2020/06/04 Python
python中加背景音乐如何操作
2020/07/19 Python
Python: glob匹配文件的操作
2020/12/11 Python
matplotlib运行时配置(Runtime Configuration,rc)参数rcParams解析
2021/01/05 Python
波兰运动鞋网上商店:e-Sporting
2018/02/16 全球购物
ktv中秋节活动方案
2014/01/30 职场文书
二年级班级文化建设方案
2014/05/10 职场文书
门卫岗位职责
2015/02/09 职场文书
辞职书格式样本
2015/02/26 职场文书
老兵退伍感言
2015/08/03 职场文书
2015团员个人年度总结
2015/11/24 职场文书
Java实现扫雷游戏详细代码讲解
2022/05/25 Java/Android