python中列表的类型强制转换错误.什么是正确的方法来确保这返回作为一个整数[]而不是一个str列表?



我想在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

我想通了

whileloop:

while(nums.count(val) != 0):
nums.remove(val)
return len(nums)

forloop:

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)

最新更新