gpt4 book ai didi

python中remove函数的踩坑记录

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章python中remove函数的踩坑记录由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

摘要:

在python的使用过程中,难免会遇到要移除列表中对象的要求。这时可以使用remove函数.

对于python中的remove()函数,官方文档的解释是:Remove first occurrence of value.大意也就是移除列表中等于指定值的第一个匹配的元素.

语法 。

list.remove() 。

参数 。

obj 参数:从列表中删除的对象的索引 。

返回值 。

删除后不会返回值 。

常见用法:

a = [1,2,3,4],a.remove(1),然后a就是[2,3,4];对于a = [1,1,1,2],其结果也是[1,1,2],这是最基本的用法.

但是对于下面这个:

?
1
2
3
4
5
6
a = [ 1 , 2 , 3 , 4 ]
for i in a:
   a.remove(i)
 
# 结果
a = [ 2 , 4 ]

或者说 。

?
1
2
3
4
5
6
7
a = [ 1 , 1 , 1 , 1 , 1 , 2 ]
for i in a:
   a.remove( 1 )
 
 
#结果
a = [ 1 , 1 , 2 ]

是不是跟想象中的不一样,其主要原因如下(^表示当前迭代器位于列表中的位置):

   a = [ 1 , 2 , 3 , 4] 。

假设此时  ^ 。

默认情况下只想第一个元素,然后执行a.remove(1),然后下标向后移动,列表因为删除了元素,后面的向前移动,如下:

   a = [ 2 , 3 , 4] 。

   此时       ^ 。

此时执行a.remove(3),重复上面的移动 。

   a = [ 2 , 4] 。

   此时           ^ 。

因为已经到了列表的边界,故结束遍历,并返回`a = [2,4]`.

解决办法:

?
1
2
3
# 一下为解决办法之一
d = dict ( zip ( range ( len (a)), a))
[v for k, v in d.items() if v ! = value]

总结:

关于python列表的remove操作涉及了列表下标的移动以及列表中元素的移动,涉及了一些关于数组的知识。其核心问题就是前面所说的.

到此这篇关于python中remove函数的踩坑记录的文章就介绍到这了,更多相关python中remove函数坑内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。

原文链接:https://www.cnblogs.com/JonnyJiang-zh/p/13799533.html 。

最后此篇关于python中remove函数的踩坑记录的文章就讲到这里了,如果你想了解更多关于python中remove函数的踩坑记录的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com