我知道计算列表项的简单出现次数非常简单:
>>> [1, 2, 3, 4, 1, 4, 1].count(1)
3
但我想知道的是,每当一个字符串出现在列表项的子字符串中时,如何计数
例如,我想看看foo
在列表data
中出现了多少次:
data = ["the foo is all fooed", "the bar is all barred", "foo is now a bar"]
做:
d_count = data.count('foo')
print("d_count:", d_count)
产生:
d_count: 0
但我希望得到:
d_count: 2
我还试着做:
d_count = data.count(any('foo' in s for s in data))
print("d_count:", d_count)
但结果也是零
我想知道如何计算列表中出现的每个子字符串
如果数据=[“abababa in foo”,“abababa”]
从列表中查找“aba”的发生情况, 您应该使用以下代码:
您可以通过使用
sum
内置函数来实现这一点。也不需要使用list.count
:这段代码之所以有效,是因为布尔可以被视为整数。每次
'foo'
出现在字符串元素中时,都会返回True
。True
的整数值为1
。这就好像每次'foo'
在一个字符串中,我们都返回1
。因此,对返回的1
求和将得到1
在元素中出现的次数编写上述代码的一种可能更明确但等效的方法是:
您可以尝试以下方法:
输出:
相关问题 更多 >
编程相关推荐