我知道,计算一个列表项的简单出现次数就像:
>>>[1, 2, 3, 4, 1, 4, 1].count(1)
3
但我想知道的是,每当一个字符串出现在列表项的子字符串中时,该如何计数。
例如,我想看看列表中出现了多少次foo
:
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 = data.count(any('foo' in s for s in data))
print("d_count:", d_count)
但这也产生了:
d_count: 0
我想知道如何计算列表中每个出现子字符串的次数,谢谢。
你可以试试这个:
输出:
如果数据=[“abababa in foo”,“abababa”]
从列表中找到“aba”的发生, 您应该使用以下代码:
您可以使用
sum
内置函数来完成此操作。也不需要使用list.count
:这段代码之所以有效,是因为布尔值可以被视为整数。每次字符串元素中出现
'foo'
时,都会返回True
。True
的整数值是1
。所以好像每次'foo'
在一个字符串中,我们都返回1
。因此,将返回的1
相加将得到元素中出现1
的次数。编写上述代码的一种更明确但等效的方法可能是:
相关问题 更多 >
编程相关推荐