首页 > 解决方案 > 尽管显式强制转换 int,但初始化的 int 仍被 python 强制转换为列表

问题描述

我的代码

为什么显式转换的 int 被标识为列表。如果没有显式转换,问题也存在。我不确定问题是什么。

def longestSubstringWithK(full_string, k):
    window = {}

    longest_substring = 0


    smallest= int(0)
    for index, letter in enumerate(full_string):
        window[letter] = index

        if len(window) > k:
            smallest = min(window.values())

            del(window[full_string[smallest]])
            smallest = smallest + 1
            longest_substring = max(longest_substring, index - smallest+1)
    return longest_substring

word = "eceba"
print(longestSubstringWithK(word,2)) 

标签: pythonpython-3.x

解决方案


由于我无法发表评论,我认为,因为您在图像上显示的内容,这是您的 IDE 的问题。通过调试或 print(type(YOUR_VARIABLE_NAME)) 确保您正确地进行了转换。

由于 init 相似,因此可能无法识别为演员表,而只能识别为列表。

根据您的 IDE,您可以打开一个问题,以便他们可以升级他们的 IDE。


推荐阅读