Python 统计拆分txt文件中出现子字符串的次数

Python 统计拆分txt文件中出现子字符串的次数,python,Python,我有一个名为test1.txt的.txt文件,其中包含: apple P apple apple P apple Pbanana apple P apple apple apple 我使用以下代码根据字母p将其分为几个类别: import re Apple_split = open("test1.txt").read().split("P") print(Apple_split_split) 我现在想数一数苹果这个词在每次拆分中出现的次数。希望能有一个像1,2,1,1,3之类的输出。任何

我有一个名为test1.txt的.txt文件,其中包含:

apple
P apple apple
P apple
Pbanana apple P apple apple apple
我使用以下代码根据字母p将其分为几个类别:

import re

Apple_split = open("test1.txt").read().split("P")

print(Apple_split_split)

我现在想数一数苹果这个词在每次拆分中出现的次数。希望能有一个像1,2,1,1,3之类的输出。任何帮助都将不胜感激。

在列表理解中使用
string.count
,将其应用于每个分割段

with open('test1.txt') as text_file:
    print [segment.count('apple') for segment in text_file.read().split("P")]

您可以这样做:

f = open('test1.txt').read().split('P')
apple_counts = [segment.count('apple') for segment in f]
print apple_counts #[1, 2, 1, 1, 3]

上面使用了一个简单的列表理解,将每个片段按
'p'

可能的重复进行拆分:请注意,您
导入了re
,但在显示的代码中没有使用它。我尝试了这个方法,但它只给出了苹果的总数。我在试着找出每一份苹果的数量。这个列表正是你想要的。按这里写的那样试试看;它返回[1,2,1,1,3]。