如何使用Python在文件中找到最长的连续重复字符分组链

问题描述 投票:1回答:1

我是这个网站(和编程)的新手,但真的很感谢我遇到的一些帮助。

[我正在尝试编写一个程序来搜索提供的长.txt文件,并查找其中特定字符组连续重复的实例,然后计算出最高的示例并将其与另一个文件进行比较(这是'现在很重要)。

因此带有以下长行的文件:

'dtcdtcdtcuiouiouiodtcdtcdtcdtcdtcuiouioiodtcdtc'

我想找到连续重复的'dtc'的最高实例。在该行的开头,它执行了三次。然后在中间大约四次。然后最后两次。因此,我希望存储的信息为4。

但是,我正在努力实现这一目标。正如我所说,我是新手,一直在努力寻求实现这一目标的最佳方法。到目前为止,我已经开始考虑以下选项:

read = textfile.read()
counter = 0

for i in range(len(read)):
        if (read[i:i + 2]) == 'dtc':
           counter += 1

但是,我正在努力找出实现所需算法的最佳方法。如果您能指出正确的方向,我将不胜感激。

非常感谢

python python-3.x search substring
1个回答
0
投票

尝试collections.Counter。可以正常工作的东西:

char_counter = collections.Counter()
for line in open('file.txt'):
  for char in line:
    char_counter[char] += 1
most_common_char = char_counter.most_common()[0]

请注意,这是逐行迭代的。对于典型的文本文件,这可能是最节省内存的方法。

© www.soinside.com 2019 - 2024. All rights reserved.