5.1、python remove和del的区别,python 循环删除元素

简介: l = [1,2,3,4]l1 = ll.remove(2)print (l)print (l1)结果为:[1,3,4][1,3,4]原因是因为python中的赋值其实只是给了一个存该值的地址,remove的删除是将该地址上的值删掉了,...

l = [1,2,3,4]

l1 = l

l.remove(2)

print (l)

print (l1)

结果为:

[1,3,4]

[1,3,4]

原因是因为python中的赋值其实只是给了一个存该值的地址,remove的删除是将该地址上的值删掉了,如果使用del的话就不会出现这种情况,因为del是根据索引删除,

只删除本数组下该索引的位置

l = [1,2,3,4]

for i in l:

if i != 4:

    l.remove(i)

print (l)

结果为[2,4]

原因是romove删除元素时会将原来存该元素的空间删掉,然后下一个元素自动递补到前面,同时长度减一。

循环删除容易出现数组越界的情况,这时候不能使用索引进行循环:

for i in range(0,len(a)):

if(a[i] == 3)

del.a[i]

如果这样进行删除,一定会出现索引out index的情况。

要使用分片的方式:

l = [1,2,2,3,2,4]

for x in l[:]:

    if (x == 2):

        l.remove(x)

print(l)

目录
相关文章
|
13天前
|
存储 开发者 Python
Python 中的数据结构与其他编程语言数据结构的区别
不同编程语言都有其设计理念和应用场景,开发者需要根据具体需求和语言特点来选择合适的数据结构
|
20天前
|
开发工具 Python
[oeasy]python043_自己制作的ascii码表_循环语句_条件语句_缩进_indent
本文介绍了如何使用Python制作ASCII码表,回顾了上一次课程中`print`函数的`end`参数,并通过循环和条件语句实现每8个字符换行的功能。通过调整代码中的缩进,实现了正确的输出格式。最后展示了制作完成的ASCII码表,并预告了下一次课程的内容。
20 2
|
22天前
|
Python
在 Python 中实现各种类型的循环判断
在 Python 中实现各种类型的循环判断
21 2
|
23天前
|
Python
Python 中,循环判断
Python 中,循环判断
38 1
|
1月前
|
人工智能 Python
[oeasy]python039_for循环_循环遍历_循环变量
本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
32 4
|
2月前
|
Java 索引 Python
【10月更文挑战第19天】「Mac上学Python 30」基础篇11 - 高级循环技巧与应用
本篇将介绍更深入的循环应用与优化方法,重点放在高级技巧和场景实践。我们将讲解enumerate()与zip()的妙用、迭代器与生成器、并发循环以及性能优化技巧。这些内容将帮助您编写更高效、结构更合理的代码。
68 5
|
2月前
|
数据安全/隐私保护 Python
Python循环语句
【10月更文挑战第7天】
|
2月前
|
机器学习/深度学习 缓存 Linux
python环境学习:pip介绍,pip 和 conda的区别和联系。哪个更好使用?pip创建虚拟环境并解释venv模块,pip的常用命令,conda的常用命令。
本文介绍了Python的包管理工具pip和环境管理器conda的区别与联系。pip主要用于安装和管理Python包,而conda不仅管理Python包,还能管理其他语言的包,并提供强大的环境管理功能。文章还讨论了pip创建虚拟环境的方法,以及pip和conda的常用命令。作者推荐使用conda安装科学计算和数据分析包,而pip则用于安装无法通过conda获取的包。
117 0
|
18天前
|
存储 数据挖掘 开发者
Python编程入门:从零到英雄
在这篇文章中,我们将一起踏上Python编程的奇幻之旅。无论你是编程新手,还是希望拓展技能的开发者,本教程都将为你提供一条清晰的道路,引导你从基础语法走向实际应用。通过精心设计的代码示例和练习,你将学会如何用Python解决实际问题,并准备好迎接更复杂的编程挑战。让我们一起探索这个强大的语言,开启你的编程生涯吧!
|
24天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。