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获得图片base64编码示例
Jan 16 Python
python求列表交集的方法汇总
Nov 10 Python
Python线性方程组求解运算示例
Jan 17 Python
python 以16进制打印输出的方法
Jul 09 Python
python爬取酷狗音乐排行榜
Feb 20 Python
浅谈Python基础—判断和循环
Mar 22 Python
python实现趣味图片字符化
Apr 30 Python
使用python获取(宜宾市地震信息)地震信息
Jun 20 Python
用django-allauth实现第三方登录的示例代码
Jun 24 Python
利用python对excel中一列的时间数据更改格式操作
Jul 14 Python
Python 可视化神器Plotly详解
Dec 26 Python
python 如何获取页面所有a标签下href的值
May 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
php 获取远程网页内容的函数
2009/09/08 PHP
PHP STRING 陷阱原理说明
2010/07/24 PHP
修改php.ini以达到屏蔽错误信息并记录日志
2013/06/16 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
2015/12/21 PHP
在Mac OS上搭建PHP的Yii框架及相关测试环境
2016/02/14 PHP
php简单实现sql防注入的方法
2016/04/22 PHP
总结一些js自定义的函数
2006/08/05 Javascript
JS对URL字符串进行编码/解码分析
2008/10/25 Javascript
如何使用jQuery来处理图片坏链具体实现步骤
2013/05/02 Javascript
jquery遍历数组与筛选数组的方法
2013/11/05 Javascript
JQuery表格拖动调整列宽效果(自己动手写的)
2014/09/01 Javascript
Javascript实现的简单右键菜单类
2015/09/23 Javascript
以jQuery中$.Deferred对象为例讲解promise对象是如何处理异步问题
2015/11/13 Javascript
跟我学习javascript的prototype使用注意事项
2015/11/17 Javascript
JavaScript电子时钟倒计时
2016/01/09 Javascript
Jquery zTree 树控件异步加载操作
2016/02/25 Javascript
详解angularJs中自定义directive的数据交互
2017/01/13 Javascript
原生js实现返回顶部缓冲效果
2017/01/18 Javascript
JS兼容所有浏览器的DOMContentLoaded事件
2018/01/12 Javascript
koa源码中promise的解读
2018/11/13 Javascript
用vite搭建vue3应用的实现方法
2021/02/22 Vue.js
[26:21]浴火之凤-TI4世界冠军Newbee战队纪录片
2014/08/07 DOTA
Python循环语句中else的用法总结
2016/09/11 Python
解决python3中自定义wsgi函数,make_server函数报错的问题
2017/11/21 Python
python 实现求解字符串集的最长公共前缀方法
2018/07/20 Python
Python利用requests模块下载图片实例代码
2019/08/12 Python
Python Celery多队列配置代码实例
2019/11/22 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
什么是Python中的顺序表
2020/06/02 Python
Python基于Socket实现简易多人聊天室的示例代码
2020/11/29 Python
中粮集团旗下食品网上购物网站:我买网
2016/09/22 全球购物
马来西亚和新加坡巴士票在线预订:CatchThatBus
2018/11/17 全球购物
Nicole Miller官方网站:纽约女装品牌
2019/09/14 全球购物
历史专业个人求职信分享
2013/12/20 职场文书
小学生家长意见
2015/06/03 职场文书
婚礼家长致辞
2015/07/27 职场文书