首页 > 解决方案 > 尝试从列表中删除事件会导致索引错误

问题描述

给定一个值,我试图删除给定列表中该值的每次出现,然后返回列表的长度。这就是我试图做的:

class Solution:
    def removeElement(self, nums: List[int], val: int) -> int:

        new_nums = []

        for i in nums:
            if nums[i] != val:
                new_nums.append(nums[i])

        return len(new_nums)

但是,它抛出一个IndexError: List Index out of range错误,指向这一行:if nums[i] != val:. 最初我使用的是 list.pop() 所以它抛出了类似的错误,但我理解它为什么会这样做。在这种情况下,我根本不会改变给定列表的大小。我正在循环给定列表并返回新列表的大小。

标签: pythonindex-error

解决方案


推荐阅读