我正在尝试在 Leetcode 上练习我的 Python。 我在尝试将其作为整数列表返回时遇到类型转换问题。通过一些研究,这似乎可能是因为我在 for 循环中使用“范围”。有人可以告诉我正确的方法来执行此操作而不会导致错误吗? 这是我的代码:
class Solution(object):
def removeElement(self, nums, val):
for i in range(nums.count(val)):
nums.remove(val)
return nums
这是错误消息:
TypeError: [2, 2] is not valid value for the expected return type integer[]
raise TypeError(str(ret) + " is not valid value for the expected return type
integer[]");
Line 39 in _driver (Solution.py)
_driver()
(Solution.py) 中的第 45 行
我也这样做了同样的错误
class Solution(object):
def removeElement(self, nums, val):
"""
:type nums: List[int]
:type val: int
:rtype: int
"""
while(nums.count(val) != 0):
nums.remove(val)
return nums
我明白了
while
循环:
while(nums.count(val) != 0):
nums.remove(val)
return len(nums)
for
循环:
for i in range(nums.count(val)):
nums.remove(val)
return len(nums)
Mark 指出返回类型应该是
int
,所以我将 array
引用为 int
并且它有效。
谢谢马克!
和你有类似的问题,但用这个解决了:
while (val in nums):
nums.remove(val)
return len(nums)
我也有同样的问题。 我将语言更改为 python3 而不是 python。 它成功了!