您可以使用
sum内置功能来做到这一点。也无需使用
list.count:
>>> data = ["the foo is all fooed", "the bar is all barred", "foo is now a bar"]>>> sum('foo' in s for s in data)2>>>
该代码有效,因为布尔值可以视为整数。每次
'foo'出现在字符串元素中,
True均被返回。的整数值
True是
1。就像每次
'foo'都在一个字符串中一样,我们返回
1。因此,对
1返回的求和将得出
1元素中出现的次数。
编写上述代码的一种可能更明确但等效的方法是:
>>> sum(1 for s in data if 'foo' in s)2>>>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)