在生成器表达式中使用 lambda 函数

Pra*_*ani -3 python lambda python-3.x

我正在尝试使用lambda函数计算列表中给定 val 的总出现次数:

def countOccurrence(givenList, val):
    result = sum(1 for i in range(len(givenList)) if lambda i: givenList(i) == val)
    return result

givenList = [3, 4, 5, 8, 0, 3, 8, 5, 0, 3, 1, 5, 2, 3, 4, 2]
print(countOccurrence(givenList, 5))
Run Code Online (Sandbox Code Playgroud)

但是返回的结果是16,它只不过是列表的长度。

Jor*_*ley 7

如果您想计算列表中 5 的数量,您应该使用内置

 my_list.count(5)
Run Code Online (Sandbox Code Playgroud)