python - 尝试从列表中删除事件会导致索引错误
问题描述
给定一个值,我试图删除给定列表中该值的每次出现,然后返回列表的长度。这就是我试图做的:
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() 所以它抛出了类似的错误,但我理解它为什么会这样做。在这种情况下,我根本不会改变给定列表的大小。我正在循环给定列表并返回新列表的大小。
解决方案
推荐阅读
- spring - 如何正确配置多组件扫描和“使用默认过滤器 = false”
- python - 查找列值总和具有特定结果的行
- c++ - 如何有效地使用 boost::process::async_pipe 进行读写?
- llvm - LLVM:如何获取 BranchInst 的真/假基本块继任者
- reactjs - React 严格模式是如何工作的?
- javascript - Injecting Django attributes into Java script
- python - 学习python,带循环问题的函数
- android - android.database.sqlite.SQLiteException:没有这样的表:table_name
- shell - Jenkinsfile 中 shell 脚本块的意外标记“<”附近的语法错误
- python - 我的解决方案是O(n ^ 2)吗,如果是,为什么它的运行速度与O(n)解决方案相同