gpt4 book ai didi

python - 如何计算文件中文本文件中重复的值之间的行数

转载 作者:太空宇宙 更新时间:2023-11-03 21:30:36 24 4
gpt4 key购买 nike

我想计算在以下示例中 'A' 之后和 'A' 重复之前的文本文件的行数:

A1
Apple
Mangoes
Oranges
A2
Strawberries
Grapefruit
A3
Papaya
Sweet_lime

我希望结果是这样的

A1: 3, A2: 2, A3: 2

到目前为止我已经尝试过:

f = open("temp.txt","r")
count = 0
A_vals = []
for lines in f:
value = re.search("(A\d)",lines)
header = value.group(1)
if header in lines:
count += 1
A_vals.append(count)

我没有得到预期的结果。任何帮助表示赞赏!

最佳答案

由于您有 A 和数字,因此请使用正则表达式来匹配模式。您可以使用默认字典作为计数器。

import re
from collections import defaultdict

A_vals = defaultdict(int)
current_A = None

with open('temp.txt') as fp:
for line in fp:
m = re.match(r'A\d+', line)
if m:
current_A = m.group()
continue
if current_A:
A_vals[current_A] += 1

print(dict(A_vals))
# prints:
{'A1': 3, 'A2': 2, 'A3': 2}

关于python - 如何计算文件中文本文件中重复的值之间的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53550273/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com