找出词频最高的字母

题目:
给你一个其中包含不同的英文字母和标点符号的文本,你要找到其中出现最多的字母,返回的字母必须是小写形式,当检查最想要的字母时,不区分大小写,所以在你的搜索中 "A" == "a"。 请确保你不计算标点符号,数字和空格,只计算字母。
如果你找到 两个或两个以上的具有相同的频率的字母, 返回那个先出现在字母表中的字母。 例如“one”包含“o”,“n”,“e”每个字母一次,因此我们选择“e”。

测试数据:
Hello World!
How do you do?
One
Oops!
AAaooo!!!!
abe

正确结果:
l
o
e
o
a
a

解题思路:
先删除非字母的字符并将所有字母转化成小写,再统计每个字母的词频,然后根据最大词频找到对应的字母,结果可能有多个,没关系,排下序就好,最后将排序后的列表的第一个值输出即可。

脚本:
import re

def checkio(text):
    text = re.sub(r‘[^a-zA-Z]‘, ‘‘, text.lower())
    mydict = {}
    for letter in set(text):
        mydict[letter] = text.count(letter)
    mylist = []
    for each_item in mydict.keys():
        if mydict[each_item] == max(mydict.values()):
            mylist.append(each_item)
    mylist.sort()
    return mylist[0]
时间: 2024-10-29 10:48:12

找出词频最高的字母的相关文章

python找出字符串中每个字母出现的次数

#!/usr/bin/env python # coding=utf-8 str1 = "abcdefabcdefgghj" listStr = [] for eachStr in str1:     countStr = str1.count(eachStr)     numStr = eachStr + ":" + str(countStr)     if numStr not in listStr :         listStr.append(numStr

[Python3 练习] 010 找出字符串中特定的字符

题目:找出藏在字符串中的"密码" (1) 描述 1) 题源1 鱼 C 论坛中"小甲鱼"老师出的题 链接地址:第020讲:函数:内嵌函数和闭包 | 课后测试题及答案 2) 题源2 这几日挺巧的 在鱼 C 论坛上找 Python 习题,点开第 20 节,看到两道操作题 又想起一个网站 Python Challenge ,久闻其名,未曾拜访,遂一探究竟 原来小甲鱼老师第 20 节的两道操作题改编自 Python Challenge 的 level2 与 level 3 2

c语言代码编程题汇总:找出字符串中与输入的字母元素相同的个数以及其所对应数组的下标值

找出字符串中与输入的字母元素相同的个数以及其所对应数组的下标值 程序代码如下: 1 /* 2 2017年3月8日08:39:16 3 功能:找出字符串中与输入的字母元素相同的个数以及其所对应数组的下标值 4 */ 5 6 #include"stdio.h" 7 int main (void) 8 { 9 int i = 0, j = 0; 10 char a[100]; 11 char ch; 12 int num = 0; 13 14 printf ("please inp

在一段英文字母中找出每个字母重复数量的方法(Java)

首先需要了解下java的hashmap数据类型: hashmap是基于哈希表的Map接口的实现.hashmap有两个元素,一个是key(键名),一个是value(键值),就相当于一个字典了,和Python里的字典是一样的. 在一段英文字母中找出每个字母重复数量的实现原理: 将文字中出现的字母,作为键名(key),出现的次数作为键值(value),hashmap中的键名是不能重复的,那么统计这些字母的数量,就变成了统计这些相同键名的数量. 实现方式可以是从第一个字母开始,把字母存到哈希表中去,第一

找出字符串中第一个只出现一次的字母

// 一个字符串由[a-z]组成,请找出该字符串第一个只出现一次的字母: var str = "354691236549870213654789501287i45465444" var obj = {};//去重 for(var i = 0; i < str.length;i++){ var count = 1: obj[str[i]] = count: } arr = Object.keys(obj): var arr_ = []: for(i in arr){ var num

找出字符串有有多少个大写字母、小写字母及其它

public class TestStringCharAt { /** * 找出字符串有有多少个大写字母.小写字母及其它 */ public static void main(String[] args) { String str = "[email protected]"; char ch = 0; int upperNum = 0; int lowerNum = 0; int otherNum = 0; /** * 方法一 * for (int i=0;i<str.lengt

C语言:对传入sp的字符进行统计,三组两个相连字母“ea”&quot;ou&quot;&quot;iu&quot;出现的次数,并将统计结果存入ct所指的数组中。-在数组中找出最小值,并与第一个元素交换位置。

//对传入sp的字符进行统计,三组两个相连字母“ea”"ou""iu"出现的次数,并将统计结果存入ct所指的数组中. 1 #include <stdio.h> 2 #include <string.h> 3 #pragma warning (disable:4996) 4 void fun(char*sp ,int *ct) 5 { 6 int a=0, b=0, c=0; 7 while (*sp != '\0') 8 { 9 if (*s

Python基础-生物信息:找出基因,生物学家使用字母A、C、T和G构成的字符串建模一个基因组。

生物信息:找出基因,生物学家使用字母A.C.T和G构成的字符串建模一个基因组.一个基因是基因组的子串,它从三元组ATG后开始在三元组TAG.TAA或TGA之前结束.此外,基因字符串的长度是3的倍数,而且基因不包含三元组ATG.TAG.TAA和TGA.编写程序提示用户输入一个基因组,然后显示基因组里的所有基因.如果在输入序列中没有找到基因,那么程序显示“no gene is found” s=input('Please input the Gene String:\r\n') endsplit=[

【Transact-SQL】找出不包含字母、不包含汉字的数据

原文:[Transact-SQL]找出不包含字母.不包含汉字的数据 测试的同事,让我帮忙写个sql语句,找出表中xx列不包含汉字的行. 下面的代码就能实现. IF EXISTS(SELECT * FROM sys.tables WHERE name = 't') DROP TABLE t go CREATE TABLE t(str VARCHAR(100)) INSERT INTO t VALUES('abc'),('ABZ'),('abc一二三'),('一二三'),('123456789')