我想在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
loop:
while(nums.count(val) != 0):
nums.remove(val)
return len(nums)
for
loop:
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)