最近在写项目中使用到del函数和remove函数,出现了一些常识性但又容易忘记的错误,在这里记录一些,也是给自己提醒一下。

首先,del和remove的区别,很好理解。

del:利用del[索引数] 函数删除指定索引数的元素 或删除整个变量

remove:用remove()方法删除指定元素

但是两者之间也是有共存点的,先看一下例子。

#对使用del
x=[1,2,3,5,2]
y=x  #将x赋给ydel y[2]
print('del删除后对应输出y:',y)
print('输出x:',x)对使用remove
x=[1,2,3,5,2]
y=x  #将x赋给yy.remove(2)
print('remove删除后对应输出y:',y)
print('输出x:',x)

结果是:

del删除后对应输出y: [1, 3, 5, 2]
输出x: [1, 3, 5, 2]remove删除后对应输出y:[1, 3, 5, 2]
输出x: [1, 3, 5, 2]

两个结果是一样,对del和remove的结果当然是一样的,但是x也变了,这个就是引用删除,个人理解是del和remove删除了内存里对应的值,因此所有的引用里的值也都改变了。再看一个例子。

#del例子
def app_del(a):b=adel b[1]return bif __name__=='__main__':a=[1,2,3,5,2]c=app_del(a)print('a的值',a)print('del对应c的值',c)#remove例子def app_remove(a,i):b=ab.remove(i)return bif __name__=='__main__':a=[1,2,3,5,2]c=app_remove(a,2)print('a的值',a)print('remove对应c的值',c)

输出结果为:

a的值 [1, 3, 5, 2]
del对应c的值 [1, 3, 5, 2]a的值 [1, 3, 5, 2]
remove对应c的值 [1, 3, 5, 2]

可以发现就是在函数中,使用了del和remove同样也会删除了内存中对应的变量。

而在开发中往往想删除引用中的量,如果留意这个简单的问题,会给自己带来不小的麻烦,会一直报错,哎·····,自己就是啊,找了半天的错误,所以在使用之前一定要考虑要不要保留一份,如果对后面的开发没有影响,那就没有问题,如果有影响,个人建议最好保存一份,使用copy函数,如

def app_del(a):b=adel b[1]return bif __name__=='__main__':a=[1,2,3,5,2]b=a.copy()c=app_del(a)print('a的值',a)print('b的值',b)print('c的值',c)输出结果:
a的值 [1, 3, 5, 2]
b的值 [1, 2, 3, 5, 2]
c的值 [1, 3, 5, 2]

OK了,remove也是相同的,以后在写代码的时候要注意点了,所以啊基础知识很重要啊。

Python 使用del函数和remove函数注意点相关推荐

  1. python中remove函数是什么意思,python中pop函数和remove函数有什么区别

    python中pop函数和remove函数有什么区别 发布时间:2020-12-10 09:36:18 来源:亿速云 阅读:80 作者:小新 小编给大家分享一下python中pop函数和remove函 ...

  2. python使用del保留字定义一个函数-函数和代码复用 --Python

    1.关于递归函数的描述,以下选项中正确的是 A.包含一个循环结构 B.函数比较复杂 C.函数内部包含对本函数的再次调用 D.函数名称作为返回值 答案:D 答案解析:递归函数是指函数内部包含对本函数的再 ...

  3. Java知识点06:队列(Queue)的offer/add函数,poll/remove函数,peek/element函数的区别

    一.Queue接口的描述 Queue接口,实现了 Collection接口. 队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作. 在Queue中,有 offer.add ...

  4. python使用del保留字定义一个函数-Python使用什么保留字定义一个函数。

    [单选题]Where was the First Continental Congress held? [单选题]对于集合S和T,下列不属于集合类型的操作是() [判断题]UPS系统的静态开关用于保护 ...

  5. python:数组/列表(remove()函数、append()函数、sort()函数、reverse()函数)

    排序: 1:整理顺序 #冒泡 lista = [5,7,11,19,99,63,3,9,1] list = [] while lista != []:number = 0for i in lista: ...

  6. python使用del保留字定义一个函数-python中自定义函数的保留字是

    基本使用(推荐学习:Python视频教程)def function_name(parameters): expressions Python使用def开始函数定义,紧接着是函数名,括号内部为函数的参数 ...

  7. python remove函数_python中remove函数的用法是什么?

    python中remove函数的用法是什么? python中remove函数的用法: 描述 remove() 函数用于移除列表中某个值的第一个匹配项. 语法 remove()方法语法: list.re ...

  8. Python语言中 del函数和insert函数用法

    del函数和insert函数用法li=[1,2,3,4,5] print('li is :',li) tmp = li[0] print('tmp is:',tmp)del li[0]print('l ...

  9. python 列表 remove()函数使用详解

    「作者主页」:士别三日wyx remove函数使用详解 1. 基本使用 2. 删除普通类型元素 3. 删除对象类型元素 4. 一次只删一个元素 1. 基本使用 remove() 函数可以删除列表中的指 ...

最新文章

  1. python装饰器原理-python装饰器的原理和使用
  2. 【天池赛事】零基础入门语义分割-地表建筑物识别 Task6:分割模型模型集成
  3. Java 关于类的专题
  4. [转]Django 好用的第三方包
  5. 【情感分析】基于知识引入的情感分析
  6. Git最基本入门,只是个感想总结啊啊啊不要搜到我0.0
  7. pycharm输入不了代码_最易懂的Python新手教程:从基础语法到代码详解
  8. 双子星tv源码_双子星IPTV电视直播管理系统源码安装教程
  9. xshell的注册码
  10. c++识别图片身份证号码
  11. 如何下载东四街道卫星地图高清版大图?
  12. mex文件用matlab能打开吗,MATLAB通过mex文件调用C/C++程序
  13. pom.xml文件中的dependency的scope属性值为test,但是Test sources root的文件里面不能使用
  14. win10设置护眼颜色(豆沙绿)
  15. 直播弹幕系统(三)- 直播在线人数统计
  16. 日志平台-统一日志平台ELK管理
  17. 【Postgresql】pg_show_plans插件
  18. 一路走来的飞控设计研发之路
  19. CSDN资源获取下载积分规则
  20. 移动机器人 | 手势识别

热门文章

  1. 锐捷亮相2017土耳其ISAF国际安防展
  2. windows下如何进行linux编程,生产者-消费者问题编程简单实现--windows和linux下
  3. 如何让竖行文本框从下往上_word文档字体一句话排成一上一下,怎样把一个横着排列的word文档的字体改为从上到下竖着排列?...
  4. 边缘计算落地要多牵住几个“牛鼻子”
  5. php点击弹遮罩层,小程序:防止点击遮罩层后遮罩层下面也反应的解决方法
  6. RK3399平台开发系列讲解(USB设备驱动)5.28、USB 协议标准
  7. iOS 本地动态验证码生成
  8. 自考java分数比_自考成绩作业5是什么意思每个考生的分数都是这样吗
  9. nrf52832用I2C和SPI两种方式驱动LIS2DS12
  10. [岁月随想]感恩节前夕