Python 查找紧跟另一个字符的最常见字符
我目前正在编写一小段代码,我似乎遇到了障碍。我想知道是否有可能(因为就我个人而言,我无法找出它)找到跟在特定字符或字符串后面的最常见字符 例如,假设我有以下句子:Python 查找紧跟另一个字符的最常见字符,python,python-3.x,Python,Python 3.x,我目前正在编写一小段代码,我似乎遇到了障碍。我想知道是否有可能(因为就我个人而言,我无法找出它)找到跟在特定字符或字符串后面的最常见字符 例如,假设我有以下句子: "this is a test sentence that happens to be short" 例如,我如何确定字母h之后出现的最常见字符 在这个具体的例子中,用手操作,我得到如下结果: {“i”:1,“a”:2,“o”:1} 然后,我希望能够获得最大值的键——在本例中,a 使用集合中的计数器,我已经能够找到特定单词或字符最
"this is a test sentence that happens to be short"
例如,我如何确定字母h
之后出现的最常见字符
在这个具体的例子中,用手操作,我得到如下结果:
{“i”:1,“a”:2,“o”:1}
然后,我希望能够获得最大值的键——在本例中,a
使用集合
中的计数器
,我已经能够找到特定单词或字符最常见的匹配项,但我不确定如何执行最常见匹配项的具体实现。任何帮助都将不胜感激,谢谢
(我写的代码是为了找到文件中最常见的字母:
计数器(文本)。最常见的(1)
,其中包括空格)
编辑:
用文字怎么做?例如,如果我有这样一句话:“鲸鱼非常整洁,但鲸鱼不是好宠物。鲸鱼很酷。”
我如何找到单词鲸鱼后出现的最常见字符?
在本例中,删除空格后,最常见的字符将是a
,使用计数器
类,我们可以尝试:
import collections
s = "this is a test sentence that happens to be short"
s = re.sub(r'^.*n|\s*', '', s)
print(collections.Counter(s).most_common(1)[0])
上面将打印o
,因为它是最后一个n
之后出现的最频繁字符。请注意,在调用collections count之前,我们还去除了空格。使用计数器
类,我们可以尝试:
import collections
s = "this is a test sentence that happens to be short"
s = re.sub(r'^.*n|\s*', '', s)
print(collections.Counter(s).most_common(1)[0])
上面将打印o
,因为它是最后一个n
之后出现的最频繁字符。请注意,在调用collections count之前,我们还去除了空格。如果您想要不使用正则表达式的解决方案:
导入集合
句子=“这是一个恰巧很短的测试句子”
如果句子[i-1]=“h”],字符=[句子[i]表示范围(1,len(句子))内的i
most_common_char=集合。计数器(字符)。most_common(1)
如果您想要不使用正则表达式的解决方案:
导入集合
句子=“这是一个恰巧很短的测试句子”
如果句子[i-1]=“h”],字符=[句子[i]表示范围(1,len(句子))内的i
most_common_char=集合。计数器(字符)。most_common(1)
只需按您的字符将其拆分,然后获取后面的字母即可
import collections
sentence = "this is a test sentence that happens to be short"
character = 'h'
letters_after_some_character = [part[0] for part in str.split(character)[1:] if part[0].isalpha()]
print(collections.Counter(letters_after_some_character).most_common())
只要按你的性格把它们分开,然后把信放在后面
import collections
sentence = "this is a test sentence that happens to be short"
character = 'h'
letters_after_some_character = [part[0] for part in str.split(character)[1:] if part[0].isalpha()]
print(collections.Counter(letters_after_some_character).most_common())
这看起来很有趣,我得去看看那个柜台。顺便说一句,这个问题建议使用“h”作为要查找的字符。在我看来,使用h
作为搜索字符是一个错误的选择,因为h
在字符串中出现得很早也很晚。这看起来很有趣-我必须检查一下计数器类。顺便说一句,问题建议使用“h”作为要查找的字符。在我看来,使用h
作为搜索字符是一个错误的选择,因为h
在字符串中出现得很早也很晚。