Code Note
列表
删除列表中的元素
# 1.删除指定元素list_name.remove(element)>>> number=[1,3,2,0]>>> number.remove(1)#删除指定元素1,这里是int类型因此不需要引号>>> print(number)[3, 2, 0]# 2.del[索引数]删除指定索引数的元素del list_name[index]>>> number=[1,3,2,0]>>> del number[3]#删除指定索引数的元素,这里是3>>> print(number)[1, 3, 2]# 3.pop()方法弹出匀速,当()中无索引数时弹出最后一个元素list_name.pop(element)>>> number=[1,3,2,0]>>> number.pop(1)#弹出索引数为1的元素3>>> print(number)#由此看出pop方法可以改变原列表[1, 2, 0]
类
调用类中的函数
- 定义类时,初始化成员变量,定义类函数
调用类函数时,先构造对象,再通过”.”调用函数 ```python class Solution(object): def init(self, nums):
self.nums = nums
def removeDuplicates(self, nums):
for i in range(0, len(nums)):if i + 1 < len(nums):del nums[i]print(len(nums))
list_test1 = [1, 1, 2] Answer = Solution(list_test1) Answer.removeDuplicates(list_test1)
结果是2
<a name="gi6fZ"></a>#<a name="T0Lay"></a>## Error<a name="ydNRk"></a>### IndentationError- IndentationError: expected an indented block- 缩进问题,在代码前加一个缩进,即空格。(indentation : 缩进)<a name="0WTrr"></a># Coding<a name="3PBMP"></a>## 双指针法--删除排序数组中的重复项- 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。<br />题目来源:[力扣 (LeetCode)](https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/x2gy9m/)```pythonclass Solution(object):def __init__(self, nums):self.nums = numsdef removeDuplicates(self, nums):for i in range(0, len(nums)):if i + 1 < len(nums) and i - 1 >= 0:if nums[i] == nums[i + 1]:del nums[i]if nums[i] == nums[i - 1]:del nums[i]if len(nums) >= 2:if nums[0] == nums[1]:del nums[0]if len(nums) >= 2:if nums[len(nums) - 1] == nums[len(nums) - 2]:del nums[len(nums) - 1]return len(nums)list_test1 = [-3, -1, -1, 0, 0, 0, 0, 0, 2]Answer = Solution(list_test1)Answer.removeDuplicates(list_test1)# 输入:[-3,-1,-1,0,0,0,0,0,2]# 输出:[-3,-1,0,0,2]# 预期结果:[-3,-1,0,2]# 73/161 个测试用例 45.34%# 正确解答:class Solution(object):def __init__(self, nums):self.nums = numsdef removeDuplicates(self, nums):if len(nums) == 0:return 0i = 0for j in range(1, len(nums)):if nums[j] != nums[i]:i += 1nums[i] = nums[j]j += 1print(i + 1)print(nums)list_test1 = [-3, -1, -1, 0, 0, 0, 0, 0, 2]Answer = Solution(list_test1)Answer.removeDuplicates(list_test1)# 输入:[-3,-1,-1,0,0,0,0,0,2]# 输出:[-3,-1,0,2] 记得审题,题目说只看返回长度内的新数组是否没有重复元素# 预期结果:[-3,-1,0,2]

