计算某些字符出现在列表中的次数

时间:2014-08-05 15:46:51

标签: python

如果我有一个列表,["abc123", "abc456", "abc789"]

我如何计算多少次" abc"出现?

我已经尝试过使用.count和.find,但是他们没有按照我的方式工作

4 个答案:

答案 0 :(得分:2)

strlist = ["abc123", "abc456", "abc789"]
sum('abc' in a for a in strlist)

计算你有多少场比赛。

答案 1 :(得分:2)

您可以转换为完整字符串并计数:

In [1]: " ".join(["abc123", "abc456", "abc789","123abc12abc"]).count("abc")
Out[1]: 5

答案 2 :(得分:1)

获取计数列表:

In [1]: counts = [s.count('abc') for s in ["abc123", "abc456", "abc789"]]
In [2]: counts
Out[2]: [1, 1, 1]

总计出现次数的计数列表:

In [3]: sum(counts)
Out[3]: 3

答案 3 :(得分:0)

一些伪代码让你开始,因为我觉得这可能是家庭作业/学习问题:

def count_strings(a_string, sub_string):
    the_total = 0
    for each_string in a_list:
        count sub_string in each_string
    return the_total