在 python 列表中键入转换错误。确保返回整数[]而不是 str 列表的正确方法是什么?

问题描述 投票:0回答:3

我正在尝试在 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
python list casting
3个回答
0
投票

我明白了

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
并且它有效。 谢谢马克!


0
投票

和你有类似的问题,但用这个解决了:

while (val in nums):
        nums.remove(val)
    return len(nums)

0
投票

我也有同样的问题。 我将语言更改为 python3 而不是 python。 它成功了!

© www.soinside.com 2019 - 2024. All rights reserved.