查找 i 出现最多的特殊字符

我有一个任务,我需要计算字符串中出现最多的特殊字符。


我拥有的文件包含三个带有文本的段落,我需要将它们相互比较以查看一组字符出现的位置,然后计算它们出现最多的位置。


文本中的行: 'I cannot go now. Give me lunch first at 12:15.'


After 13:100, he took a nap for until 13:15. Then in the late afternoon on 2018-11:30 at 16:30, he picked some bags and went to the palace. On the way, he felt hot so he sat under a tree to rest. Then, two hours later at 18:30, he got up to go but saw a man showing some magic tricks. He stopped to watch for an until 21:04.


When he reached the palace it was already after 21:03. The palace gates had been shut. So Haria had lost a golden chance because he had not learned the value of time on the 2018-13-01, a beautiful day.


我到目前为止的代码:


number_of_specials = 0

c = ['.', '.', ';', ':', '!', '?']

top = []

top_c1 = 0

top_c2 = 0

top_c3 = 0


with open(TEXT, "r") as fh:

    for line in fh:

        top.append(line.split("\n")) //to get the lines


if c in top[0]:

    top_c1 += 1

不知道从哪里开始,任何指针将不胜感激


喵喵时光机
浏览 195回答 2
2回答

炎炎设计

试试这个:import rec = ['.', '.', ';', ':', '!', '?']top = ['asdd..,;;.:']top_len = len(re.findall('['+''.join(c)+']',top[0]))

HUWWW

您可以在元组中存储行和出现次数,并按字符串(行)中特定字符的数量增加出现次数值。class Counter(object): # mutable object is needed to access it from tuple    def __init__(self, start_value=0):        self.value = start_value    def __str__(self):        return str(self.value)c = ['.', '.', ';', ':', '!', '?']top = []with open(TEXT, "r") as fh:    for line in fh:        top.append((line.split("\n"), Counter(0)))for line, occurrences in top:    for character in c:        occurrences.value += line.count(character)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python