如何计算文本文件中字符串中子字符串的出现次数 - python
How to count ocurrences of substings in string from text file - python
我想计算 .txt 文件的行数,其中一个字符串包含两个子字符串。
我尝试了以下方法:
with open(filename, 'r') as file:
for line in file:
wordsList = line.split()
if any("leads" and "show" in s for s in wordsList):
repetitions +=1
print "Repetitions: %i" % (repetitions)
但它似乎没有正常工作。
使用以下演示输入文件,我得到了 3 次重复,而它应该是 2 次:
www.google.es/leads/hello/show
www.google.es/world
www.google.com/leads/nyc/oops
www.google.es/leads/la/show
www.google.es/leads/nope/pop
leads.
show
我也尝试将 "any" 换成 "all",但我得到了更奇怪的结果。
"leads" and "show" in s
解释为:
"leads" and ("show" in s)
因为优先。
Python 试图将 "leads" 解释为布尔值。由于它是一个非空字符串,因此它的计算结果为 True。
所以,你的表达式等同于 "show" in s
你的意思是:
"leads" in s and "show" in s
我想计算 .txt 文件的行数,其中一个字符串包含两个子字符串。
我尝试了以下方法:
with open(filename, 'r') as file:
for line in file:
wordsList = line.split()
if any("leads" and "show" in s for s in wordsList):
repetitions +=1
print "Repetitions: %i" % (repetitions)
但它似乎没有正常工作。 使用以下演示输入文件,我得到了 3 次重复,而它应该是 2 次:
www.google.es/leads/hello/show
www.google.es/world
www.google.com/leads/nyc/oops
www.google.es/leads/la/show
www.google.es/leads/nope/pop
leads.
show
我也尝试将 "any" 换成 "all",但我得到了更奇怪的结果。
"leads" and "show" in s
解释为:
"leads" and ("show" in s)
因为优先。
Python 试图将 "leads" 解释为布尔值。由于它是一个非空字符串,因此它的计算结果为 True。
所以,你的表达式等同于 "show" in s
你的意思是:
"leads" in s and "show" in s