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之装饰器、迭代器和生成器
Jul 26 Python
从头学Python之编写可执行的.py文件
Nov 28 Python
python实现二叉树的遍历
Dec 11 Python
Python3单行定义多个变量或赋值方法
Jul 12 Python
Python中is和==的区别详解
Nov 15 Python
python可视化实现代码
Jan 15 Python
浅谈pyqt5在QMainWindow中布局的问题
Jun 21 Python
pandas DataFrame 行列索引及值的获取的方法
Jul 02 Python
Win10+GPU版Pytorch1.1安装的安装步骤
Sep 27 Python
使用Python构造hive insert语句说明
Jun 06 Python
Django中使用Celery的方法步骤
Dec 07 Python
Selenium关闭INFO:CONSOLE提示的解决
Dec 07 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
解析mysql 表中的碎片产生原因以及清理
2013/06/22 PHP
php加密解密实用类分享
2014/01/07 PHP
php中memcache 基本操作实例
2015/05/17 PHP
详解PHP编码转换函数应用技巧
2016/10/22 PHP
浅谈PHP中try{}catch{}的使用方法
2016/12/09 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
2019/04/02 PHP
插件:检测javascript的内存泄漏
2007/03/04 Javascript
JavaScript生成GUID的多种算法小结
2013/08/18 Javascript
js有序数组的连接问题
2013/10/01 Javascript
jQuery 过滤方法filter()选择具有特殊属性的元素
2014/06/15 Javascript
JavaScript时间操作之年月日星期级联操作
2016/01/15 Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
2016/07/11 Javascript
webpack v4 从dev到prd的方法
2018/04/02 Javascript
vscode下的vue文件格式化问题
2018/11/28 Javascript
vue-cli3 取消eslint校验代码的解决办法
2020/01/16 Javascript
Vue常用API、高级API的相关总结
2021/02/02 Vue.js
[01:56]《DOTA2》中文配音CG
2013/04/22 DOTA
windows10系统中安装python3.x+scrapy教程
2016/11/08 Python
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
2017/08/31 Python
python删除某个字符
2018/03/19 Python
Python采集猫眼两万条数据 对《无名之辈》影评进行分析
2018/12/05 Python
Python批量删除只保留最近几天table的代码实例
2019/04/01 Python
Python 实现微信防撤回功能
2019/04/29 Python
PyQt5下拉式复选框QComboCheckBox的实例
2019/06/25 Python
浅谈Django+Gunicorn+Nginx部署之路
2019/09/11 Python
Django之富文本(获取内容,设置内容方式)
2020/05/21 Python
CSS3按钮鼠标悬浮实现光圈效果源码
2016/09/11 HTML / CSS
Booking.com英国官网:全球酒店在线预订网站
2018/04/21 全球购物
Nordgreen手表德国官方网站:丹麦极简主义手表
2019/10/31 全球购物
运动会广播稿30字
2014/01/21 职场文书
医学检验专业自荐信
2014/09/18 职场文书
购房协议书范本
2014/10/02 职场文书
开展党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
酒店办公室主任岗位职责
2015/04/01 职场文书
Python 机器学习工具包SKlearn的安装与使用
2021/05/14 Python
vue实现拖拽交换位置
2022/04/07 Vue.js