多语言展示
当前在线:1792今日阅读:168今日分享:49

如何用PYTHON解决移除元素问题

用PYTHON解决移除元素问题
工具/原料

PYTHON

方法/步骤
1

打开JUPYTER NOTEBOOK,新建一个空白的PY文档。

2

nums = [3,2,2,3]val = 3for i in range(5, 0, -1):    print(i)首先我们要理解反向范围。

3

nums = [3,2,2,3]val = 3for i in range(5, -1, -1):    print(i)注意第二个元素我们这里应该用-1。

4

nums = [3,2,2,3]val = 3j = -1for i in range(len(nums), -1, -1):    if nums[i] == val:        temp = nums[i]        nums[i] = nums[j]        nums[j] = temp        j -= 1print(nums)这里超了范围,因为会忽略了第一个元素。

5

nums = [3,2,2,3]val = 3j = -1for i in range(len(nums)-1, -1, -1):    if nums[i] == val:        temp = nums[i]        nums[i] = nums[j]        nums[j] = temp        j -= 1print(nums)LEN要-1.

6

nums = [3,2,2,3]val = 3j = -1for i in range(len(nums)-1, -1, -1):    if nums[i] == val:        temp = nums[i]        nums[i] = nums[j]        nums[j] = temp        j -= 1print(nums)print(j)如果我们要返回长度,这样就会出错了。

7

for i in range(0, -3, -1):    print(i)len(range(0, -3, -1))理解一下目前的范围。

8

nums = [3,2,2,3]val = 3j = -1for i in range(len(nums)-1, -1, -1):    if nums[i] == val:        temp = nums[i]        nums[i] = nums[j]        nums[j] = temp        j -= 1print(nums)print(len(range(0, j, -1)) - 1)即使这样写也是错误的。

9

nums = [3,2,2,3]val = 3j = len(nums) - 1for i in range(len(nums)-1, -1, -1):    if nums[i] == val:        temp = nums[i]        nums[i] = nums[j]        nums[j] = temp        j -= 1print(nums)print(j + 1)因为不要把j从-1开始,要用正数。

10

nums = [3,2,2,3]val = 3j = len(nums) - 1for i in range(len(nums)-1, -1, -1):    if nums[i] == val:        nums[i], nums[j] = nums[j], nums[i]        j -= 1print(nums)print(j + 1)这样书写会更加人性化。

注意事项

注意范围的正序和倒序

推荐信息