首页 > 解决方案 > “TypeError:泛型类型的参数必须是类型。得到 0。” 在我的功能中

问题描述

我写了一个函数来计算一个小于我的 compare_number 的数字在列表中的频率。但是在执行时。我得到标题中的错误。这是我的功能:

def count_smaller(input_list: List[int], compared_number: int) -> int:
    for l in List:
        if compared_number<0:
            break
        elif compared_number<List[l]:
            count+=1
            return count

标签: pythontypeerror

解决方案


List是定义类型的对象,而不是您的实际列表对象。您可以在文档中阅读有关类型提示的更多信息

当您使用 迭代列表时,请直接在比较中 for l in input_list使用列表元素:l

def count_smaller(input_list: List[int], compared_number: int) -> int:
    for l in input_list:
        if compared_number<0:
            break
        elif compared_number<l:
            count+=1
            return count

推荐阅读