生成一个函数,将一个列表作为输入,并返回该列表中字符串“bebo”的计数

2024-09-29 19:06:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要一个名为bebo\u count的函数,它以列表x作为输入,并返回该列表中字符串“bebo”的计数。 例如,bebo\u count([“bebo”,“buzz”,“bebo”])应该返回2 我做了一个这样的代码

def bebo_count(x):
    for a in x:
            count = 0
            if a == "bebo":
            count += 1
    return count 

但它不工作,它总是返回1给我,任何人都可以请修改此代码,使其工作良好?!你知道吗


Tags: 函数字符串代码in列表forreturnif
3条回答

不要重新发明轮子:-)

有一个内置方法count

x = [ "bebo", "bv", "bebo" ]
x.count("bebo")
> 2
x.count("b")
> 0

如果在循环中不断重置count=0,请将其移到外部:

def bebo_count(x):
    count = 0
    for a in x:
            if a == "bebo":
            count += 1
    return count 

您正在count = 0内设置for循环。这意味着在每次循环迭代时,不管count的值之前是什么,它都会被设置回零。应该在循环外初始化count。还要注意,我已经纠正了你的压痕。你知道吗

def bebo_count(x):
    count = 0
    for a in x:
        if a == "bebo":
            count += 1
    return count 

以下是编写同一函数的另一种方法,供您参考:

def bebo_count(x):
    return len([a for a in x if a == "bebo"])

相关问题 更多 >

    热门问题