如何在函数和lambda中使用.count()

时间:2017-06-27 04:55:08

标签: python function count

我是python的初学者,非常感谢你!

功能:

def count(c):
    return c.count(1)

count(1,1,1,11,1,12,1)

这个功能不起作用,我想创建一个函数计算多少1的?

拉​​姆达:

counts = lambda m:count('m') 
counts('what is you name, my name is mammy!')

这个lambda也不起作用。我想创建一个lambda计数'm'的多少?

2 个答案:

答案 0 :(得分:1)

只需在*前添加c即可获取所有剩余参数并将其设置为list

def count(*c):
    return c.count(1)

count(1,1,1,11,1,12,1)

并且lambda函数可以是:

counts = lambda m: m.count('m') 
counts('what is you name, my name is mammy!')

答案 1 :(得分:1)

你的第一个例子失败了,因为你传递了多个参数,它只接受一个(大概是list)。解决问题的一种方法是传递list

def count(c):
    return c.count(1)

print(count([1,1,1,11,1,12,1]))  # 5

另一种解决方法是允许多个参数,但视为list。以下是您可以这样做的方法:

def count(*c):
    return c.count(1)

print(count(1,1,1,11,1,12,1))  # 5

您的第二个示例缺少调用count的内容。同样,一个可能的解决方案:

counts = lambda x: x.count('m')
print(counts('what is you name, my name is mammy!'))  # 6