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)

目录
相关文章
|
4天前
|
人工智能 Python
[oeasy]python039_for循环_循环遍历_循环变量
本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
15 4
|
10天前
|
Java 索引 Python
【10月更文挑战第19天】「Mac上学Python 30」基础篇11 - 高级循环技巧与应用
本篇将介绍更深入的循环应用与优化方法,重点放在高级技巧和场景实践。我们将讲解enumerate()与zip()的妙用、迭代器与生成器、并发循环以及性能优化技巧。这些内容将帮助您编写更高效、结构更合理的代码。
48 5
|
22天前
|
数据安全/隐私保护 Python
Python循环语句
【10月更文挑战第7天】
|
30天前
|
存储 大数据 数据处理
Python 中的列表推导式与生成器:特性、用途与区别
Python 中的列表推导式与生成器:特性、用途与区别
19 2
|
1月前
|
存储 C语言 Python
解密 Python 的变量和对象,它们之间有什么区别和联系呢?
解密 Python 的变量和对象,它们之间有什么区别和联系呢?
18 2
|
19天前
|
机器学习/深度学习 缓存 Linux
python环境学习:pip介绍,pip 和 conda的区别和联系。哪个更好使用?pip创建虚拟环境并解释venv模块,pip的常用命令,conda的常用命令。
本文介绍了Python的包管理工具pip和环境管理器conda的区别与联系。pip主要用于安装和管理Python包,而conda不仅管理Python包,还能管理其他语言的包,并提供强大的环境管理功能。文章还讨论了pip创建虚拟环境的方法,以及pip和conda的常用命令。作者推荐使用conda安装科学计算和数据分析包,而pip则用于安装无法通过conda获取的包。
39 0
|
29天前
|
Java C++ Python
【Python】循环语句(while、for)、continue、break
【Python】循环语句(while、for)、continue、break
30 0
|
30天前
|
索引 Python
python列表删除元素
python列表删除元素
14 0
|
1月前
|
索引 Python
Python 循环语句的高级应用与技巧
在 Python 中,循环语句是实现重复操作的关键工具。本文深入探讨了循环的高级应用与技巧,包括遍历字典的键值对、同时遍历多个序列、使用 `zip` 函数、处理复杂的 `while` 循环条件、嵌套循环的应用、使用 `break` 和 `continue` 控制循环流程、利用 `enumerate` 获取索引以及结合列表推导式简化循环逻辑。这些技巧有助于更高效地编写 Python 代码。
15 0
|
程序员 Python
6_python基础—循环(上)
6_python基础—循环
105 0
6_python基础—循环(上)