python函数外变量传到函数内处理后不改变函数外的变量,copy模块使用

这篇具有很好参考价值的文章主要介绍了python函数外变量传到函数内处理后不改变函数外的变量,copy模块使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

先上代码

a = [1,2,3]
def abc(a):
  a.remove(1)

abc(a)
print(a)

这段代码先指定了一个a变量是个list,又写了一个abc函数,功能是把外面传进来的list里面的1这个值去掉

按理说在函数内的执行只应该属于函数内的变化,但是实际打印结果是[2,3],函数把外面变量的1删掉了

这不是我想要的,我只想要变量在函数里处理成我想要的,函数外面的依然不变

现在把函数传进来的变量名换一下

a = [1,2,3]
def abc(b):
  b.remove(1)

abc(a)
print(a)

心想这次应该没有问题了吧,结果和上面一样是[2,3]

那有什么办法可以得到我想要的结果呢,这就用到了copy模块,将代码改一下

import copy
a = [1,2,3]
def abc(a):
  b = copy.copy(a)
  b.remove(1)

abc(a)
print(a)

执行结果是[1,2,3],是我想要的结果文章来源地址https://www.toymoban.com/news/detail-518769.html

到了这里,关于python函数外变量传到函数内处理后不改变函数外的变量,copy模块使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python中函数参数引用之传值/传址和copy/deepcopy

    传值就是传入一个参数的值,传址就是传入一个参数的地址,也就是内存的地址(相当于指针)。他们的区别是如果函数里面对传入的参数重新赋值,函数外的全局变量是否相应改变,用传值传入的参数是不会改变的,用传址传入就会改变。 例如这段代码里面,首先声明a的

    2024年02月05日
    浏览(39)
  • 已解决:Java环境变量配置后不生效

    一、问题 从jdk8升级到jdk11,配置JAVA_HOME后,不生效。 (备注:jdk8是安装版,jdk11是解压版。) 二、解决办法 在环境变量Path中,删除下面的配置: C:Program Files (x86)Common FilesOracleJavajavapath 验证: 三、原因 因为使用安装版本的JDK程序时(一般是1.7版本以上),在安装结束后会

    2024年02月16日
    浏览(46)
  • 【Linux服务器】 .bashrc设置永久环境变量后不起作用的问题

            在使用vi打开.bashrc文件以后设置环境变量         然而发现设置了以后不起作用。这时候可以在终端界面使用export命令查看当前所有的PATH变量,我的情况是只出现了一条,别的都没有,这就说明在配置环境变量的过程中有一条配置语句将其他的PATH变量全部覆

    2024年02月02日
    浏览(48)
  • 【JDK】二、环境变量从jdk17切换为jdk8后不生效的解决办法

    在学习springboot3时配置了java17的环境变量,但平常工作中使用的还是java8,所以还需要再还原配置。 单还原环境变量配置后,使用 java -version 还是17的问题。 重启后输入java-version 命令 任然 是java17,显然是不对的 是因为我们在安装了jdk17后,默认添加的17的环境变量配置,并且

    2024年02月07日
    浏览(42)
  • Mysql使用函数后不走索引怎么优化?

    网上很多人说mysql一旦使用函数就不走函数,但是事实真的是如此吗?我先说明,并不是如此的,本篇文章会通过 DAYOFWEEK() 和 substr() 两个函数作为条件查询,看看究竟是否会走索引(其他函数同理),使用函数不走索引的时候又应该如何做sql优化,本篇文章重点是基于这两点

    2024年02月01日
    浏览(32)
  • 图像处理——连接IP摄像头上传到服务器实现目标识别

    1.项目的需求是,本地连接IP摄像头,然后把图像上传到图像处理服务器器进行处理,得到的结果返回本地。 2.IP摄像头使用的是大华的摄像头,目标识别用的yolov5的模型,服务器用的是flask,实现语言是python。 3.在实现过程中,需要先进行IP摄像头的连接和图像的获取。可以使

    2024年02月05日
    浏览(41)
  • windows下的txt文档,传到ubuntu后,每行后面出现^M,怎么处理?

    用vim打开显示 使用 cat -A filename 显示如下 参考https://www.lmlphp.com/user/16697/article/item/579325/给出的几种方法 方法一、 dos2unix filename 。服务器没装dos2unix 方法二、使用sed sed -i \\\'s/^M//g\\\' filename 注意:^M的输入方式是 Ctrl + v ,然后Ctrl + M 可行 方法三、使用vim 报错:E486: Pattern not foun

    2024年02月14日
    浏览(63)
  • bootstrap-modal调用ajax后不经过回调函数

    说明:我用的是boostrap的弹框,表单用的是layui的,个人觉得bootstrap比layui的弹框好看点,能自适应高度。 如图:点击保存后里面的内容不执行 原因:type用的是submit 解决:把submit改为button

    2024年02月12日
    浏览(46)
  • go 内置函数copy()

    当我们在Go语言中需要将一个切片的内容复制到另一个切片时,可以使用内置的 copy() 函数。 copy() 函数用于将源切片中的元素复制到目标切片中,它有以下形式的签名: 其中, dst 是目标切片, src 是源切片, T 是切片元素的类型。函数返回一个整数值,表示实际复制的元素

    2024年02月14日
    浏览(42)
  • 一文了解 io.Copy 函数

    io.Copy 函数是一个非常好用的函数,能够非常方便得将数据进行拷贝。本文我们将从 io.Copy 函数的基本定义出发,讲述其基本使用和实现原理,以及一些注意事项,基于此完成对 io.Copy 函数的介绍。 Copy 函数用于将数据从源( io.Reader )复制到目标( io.Writer )。它会持续复制

    2024年02月13日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包