未填坑:如何删除列表中,个数为两个的元素
用切片操作
切片操作列表列表for循环中修改元素
列表for循环中修改元素del remove pop的区别
-
pop默认删除最后一个,有索引的话,删除索引
del remove pop的区别
当我说到遍历删除元素的时候,到底是指什么情况?
当我说到遍历删除元素的时候,到底是指什么情况- 当我们只需删除一个元素的,无所谓。即无须对其他成员进行遍历
- 而当我们需要对每个成员进行遍历时,这个方法不行,会漏掉一个元素
- 但是这种方法不会出错
- 为什么没有打印出3,因为删除2时已经是第二个位置,删除后,3又变成第二个位置,而第二个位置已经过去了
以下是会出错的方法
索引遍历,元素减少当我们用索引遍历时,因为list的元素个数已经减少一个了。但是i取值却没有减少。但是会出现i出界的情况
解决方法
倒序遍历
倒序遍历- 列表中的元素删除后,后面的元素会向前跑
- 正序遍历时,删除这元素后,索引指针后移,后面一个元素前移,故漏掉
- 倒序时,从后向前,索引指针前移,后面的元素已经遍历完了,故前移无所谓
比较副本,操作原本
比较副本,操作原本sort方法
内部调用for循环
网友评论