我想计算.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)
但它似乎没有按预期工作。 使用以下演示输入文件时,我应该是2:
3次重复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
我也试过为“所有”加上“任何”,但我的结果甚至更奇怪。
答案 0 :(得分:0)
"leads" and "show" in s
被解释为:
"leads" and ("show" in s)
因为优先权。
Python试图将“lead”解释为布尔值。因为它是一个非空字符串,所以它的计算结果为True。
因此,您的表达式等同于"show" in s
你的意思是:
"leads" in s and "show" in s