计算列表中特定值的数量?

时间:2013-06-07 03:23:57

标签: python list python-3.x

我正在尝试计算给定x列表中的' a但这段代码错了,我无法弄清楚为什么

x = ['a', 'b', 'a']

def a_count(x):
    n = 0
    for ltr in x:
        if ltr == 'a':
            n = n + 1
        else :
            n = n
        return n
    return 

如果有人可以告诉我如何计算用户设置值的其他列表中的“a”,我将不胜感激。这可以通过设置像

这样的空列表来完成
y = []

和...然后?

4 个答案:

答案 0 :(得分:3)

你太早回来了,通过改变最后几行功能正常

x = ['a', 'b', 'a']

def a_count(x):
    n = 0
    for ltr in x:
        if ltr == 'a':
            n = n + 1
    return n 

>>> a_count(x)
2

你可以更简洁地这样做:

>>> sum(elem == 'a' for elem in x)
2

上面的代码只是添加01s(到达元素的elem == 'a'的重新结果)来获取'a'的总数

答案 1 :(得分:3)

>>> x = ['a', 'b', 'a']
>>> x.count('a')
2

答案 2 :(得分:0)

x = ['a', 'b', 'a']

def a_count(x):
    n = 0
    for ltr in x:
        if ltr == 'a':
            n = n + 1
    return n

答案 3 :(得分:0)

这是一种可能派上用场的方法:

from collections import Counter

x = ['a', 'b', 'a']
Counter(x)['a']

这将使用内置的Collection计数器来计算所有唯一值。然后访问a

的计数