检测给定变量中存在多少个字符串?

时间:2016-09-13 21:38:20

标签: python

我试图制作一个当你输入一张桌子时的功能,例如“鱼,胡萝卜,牛肉,鱼”等。它检测了多少次' Fish'输入,在这种情况下2.但当我尝试这样做时,它返回'无'而不是2。

def word_count(x):
    count = 0
    for item in x:
        if item == 'Fish':
            count = count + 1
            return count
word_count(['Fish', 'Carrot', 'Beef', 'Fish'])

任何帮助都会受到赞赏,因为我对Python很陌生,谢谢。

2 个答案:

答案 0 :(得分:1)

您的代码问题:您的函数在return语句中是if值。因此,当Fish列表中没有x时,它将返回None,这是Python中函数返回的默认值)。尝试以下代码,它将起作用:

def word_count(x):
    count = 0
    for item in x:
        if item == 'Fish':
            count = count + 1
    return count 

建议:您可以使用列表中的count()函数来简化您的功能。例如:

>>> my_list = ['Fish', 'Carrot', 'Beef', 'Fish']
>>> my_list.count('Fish')
2

答案 1 :(得分:1)

这几乎是正确的,除了:

x,根据你的逻辑应该是一个字符串列表,所以你应该在调用函数时将它括在[]中。然后你可以迭代它。

当你得到答案时,你应该从函数返回,即迭代列表。

所以修正后的版本看起来像

def word_count(x):
    count = 0
    for item in x:
        if item == 'Fish':
            count = count + 1
    return count
word_count(['Fish', 'Carrot', 'Beef', 'Fish'])