每日一练针对于想要丰富自己相关知识和语法的小伙伴们
可以选择性观看,小博主尽力做到每个知识点详细讲解和拓展
文章尽可能声形并茂,还要靠各位小伙伴们三连改善
小博主在这里感谢各位大佬啦!!!
我们之前总结了双指针解决问题的相关内容,今天我们继续做一下回顾指针问题,同时也带大家回顾一下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(1,len(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快乐!!!
每日一练针对于想要丰富自己相关知识和语法的小伙伴们
可以选择性观看,小博主尽力做到每个知识点详细讲解和拓展
文章尽可能声形并茂,还要靠各位小伙伴们三连改善
小博主在这里感谢各位大佬啦!!!