python列表删除元素问题+指针问题进阶杂谈

🍻每日一练针对于想要丰富自己相关知识和语法的小伙伴们🍻
🍹可以选择性观看,小博主尽力做到每个知识点详细讲解和拓展🍹
🎄文章尽可能声形并茂,还要靠各位小伙伴们三连改善🎄
💌小博主在这里感谢各位大佬啦!!!💌


🌟前言

我们之前总结了双指针解决问题的相关内容,今天我们继续做一下回顾指针问题,同时也带大家回顾一下python中相关与列表删除的基本内容。闲话少叙,我们直接进入正题。
在这里插入图片描述
我们还是通过题目来引出具体知识。

🌟初始问题及解答

✨问题

在这里插入图片描述
我们想要做一个删除数组重复内容的这样一个工作。
那么我们首先先要了解如何进行列表删除,相关的操作都有哪些。

✨列表删除操作

1.remove()
通过元素内容来删除。且满足以下情况

一次删除一个元素;
如果列表内有重复元素则删除第一个;
元素不存在时抛出异常ValueError

lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print("原列表为:", lst)
lst.remove(5)
print("删除后的列表为:", lst)

2.pop()
通过索引来进行删除:

删除一个指定的索引位置上的元素;指定索引不存在则抛出异常IndexError
注意:如果不指定参数,则默认删除最后一个元素
且删除后返回

lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print("原列表为:", lst)
lst.pop(6)
print("删除后的列表为:", lst)

这里就把索引为6的元素删除了
3.切片
令索引为【n,m】的内容为【】,就把n-m的内容替换成了空。
4. clear与del
clear为清空列表中的元素,列表对象还存在
del直接删除了列表对象

🌟解题

✨遍历删除操作

首先我们令count为0,让其和循环一起动。然后我们循环从1开始,跳过0然后如果这个元素和上一个相同则我们进行删除。

nums = [0,0,1,1,1,2,2,3,3,4]
count=0
for i in range(1len(nums)):
    if nums[i-count]==nums[i-count-1]:
        del nums[i-count]
        count+=1
     
return nums

这样我们就完成了相关操作。

✨快慢指针操作

在这里插入图片描述

nums = [0,0,1,1,1,2,2,3,3,4]
if not nums:
    return 0
n=len(nums)
fast=slow=1
while fast<n:
    if nums[fast]!=nums[fast-1]:
        nums[slow]=nums[fast]
        slow+=1
    fast+=1
ruturn slow,nums[0,slow]

这就是快慢指针的全部思想了,感谢各位小伙伴们的观看,谢谢大家!祝愿大家521快乐!!!
在这里插入图片描述

🍻每日一练针对于想要丰富自己相关知识和语法的小伙伴们🍻
🍹可以选择性观看,小博主尽力做到每个知识点详细讲解和拓展🍹
🎄文章尽可能声形并茂,还要靠各位小伙伴们三连改善🎄
💌小博主在这里感谢各位大佬啦!!!💌

  • 40
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 47
    评论
评论 47
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吃猫的鱼python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值