python查找字符串出现次数_Python 中找出字符串中出现频率最高的字母
发现一个学Python的好网站 https://py.checkio.org
第一题大概意思就是找出一个字符串中出现频率最高字母
我的思路也是直接,弄个字典,遍历字符串,将键值对填进字典里,健就是字母,值就是出现了几次,再查下字典里最大的值即可。
上我的代码
import re, string
def checkio(text):
#先变小写再排序
text ="".join((lambda x:(x.sort(),x)[1])(list(text.lower())))
dicts = {}
#遍历字符串
for i in text[0:]:
#筛选只有字母的
if i.isalpha():
#有则加一,无则为一
if i in dicts:
dicts[i] = dicts[i] + 1
else:
dicts[i] = 1
test = 0
a = ''
#遍历所有key值
for j in dicts.keys():
#大的留下,小的直接过
if dicts[j] > test:
test = dicts[j]
a = j
#返回值
return a
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
assert checkio("Hello World!") == "l", "Hello test"
assert checkio("How do you do?") == "o", "O is most wanted"
assert checkio("One") == "e", "All letter only once."
assert checkio("Oops!") == "o", "Don't forget about lower case."
assert checkio("AAaooo!!!!") == "a", "Only letters."
assert checkio("abe") == "a", "The First."
print("Start the long test")
assert checkio("a" * 9000 + "b" * 1000) == "a", "Long."
print("The local tests are done.")
外国的大神是这样写的 两句话
def checkio(text):
#我懂第一步是变小写
text = text.lower()
#what? max不就是个比大小的?咋这么牛逼呢?
return max(string.ascii_lowercase, key=text.count)
其中 string.ascii_lowercase这个打印结果是abcdefghijklmnopqrstuvwxyz,
这个就是字母表小写字母排序输出,key=text.count 先要理解count这个方法 ,count() 方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置,那就是我挨个在count里传入字母,它也挨个返回这个字母返回的次数。max里就是比大小咯,输出第一个。神奇!!!
python查找字符串出现次数_Python 中找出字符串中出现频率最高的字母相关推荐
- 题目十:从字符串2中找出字符串1中的所有字符并按ASCII排序
给定两个字符串 从字符串2中找出字符串1中的所有字符 去重并按照ASCII码值从小到大排列 输入字符串1长度不超过1024 字符串2长度不超过100 字符范围满足ASCII编码要求,按照ASCII由小 ...
- python输入英文句子、找最长单词_在输入fi中找出句子中的最大和最小单词数
我有一个问题,要求我找出文本文件中单词的最小和最大数量.我已经完成了五个问题中的三个,剩下的两个是关于最小值和最大值的问题,我对此没有任何解决办法.以下是我的代码:感谢您的帮助lines, blank ...
- Python中找出dataframe中的重复的行 DataFrame.duplicated()方法
● 选择题 以下关于DataFrame.duplicated()函数说法错误的是: A 该函数用于标记dataframe中内容重复的行 B 该函数返回值是一个序列,True表示重复 C 行内容被判定重 ...
- [转]Python中找出dataframe中的重复的行 DataFrame.duplicated()方法
● 选择题 以下关于DataFrame.duplicated()函数说法错误的是: A 该函数用于标记dataframe中内容重复的行 B 该函数返回值是一个序列,True表示重复 C 行内容被判定重 ...
- Python之深入解析Vulture如何一键找出项目中所有无效的代码
一.前言 Vulture 可以在Python程序中查找未使用的代码,这对于清理和查找大型项目(代码库)中的错误非常有用. 不过由于 Python 的动态特性,像 Vulture 这样的静态代码分析器很 ...
- 9.11排序与查找(三)——给定一个排序后的数组,包括n个整数,但这个数组已被旋转过多次,找出数组中的某个元素...
/** * 功能:给定一个排序后的数组.包括n个整数.但这个数组已被旋转过多次,次数不详.找出数组中的某个元素. * 能够假定数组元素原先是按从小到大的顺序排列的. */ /*** 思路:数组被 ...
- 给定一个排序后的数组,包含n个整数,但这个数组已被旋转过多次,找出数组中的某个元素...
2019独角兽企业重金招聘Python工程师标准>>> /** * 功能:给定一个排序后的数组,包含n个整数,但这个数组已被旋转过多次,次数不详.找出数组中的某个元素. * 可以假定 ...
- python出现的次数最多的元素_Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算...
本文实例讲述了Python找出序列中出现次数最多的元素.分享给大家供大家参考,具体如下: 问题:找出一个元素序列中出现次数最多的元素是什么 解决方案:collections模块中的Counter类正是 ...
- 找出一个字符串中出现次数最多的字_海量数据中找出前k大数(topk问题)
在海量数据中找出出现频率最好的前k个数,或者从海量数据中找出最大的前k个数,这类问题通常被称为top K问题. 针对top K类问题,通常比较好的方案是分治+Trie树/hash+小顶堆(就是上面提到 ...
最新文章
- 从0到1 | 手把手教你如何使用哈工大NLP工具——PyLTP!
- TCP/IP协议面试常见题目
- html5 填充下拉框,Html5添加实现Bootstrap下拉列表框鼠标滑过时打开的插件教程
- p3p-header解决跨域访问cookie
- Coursera课程Python for everyone:Quiz: Single-Table SQL
- wxWidgets:wxStringBuffer类用法
- 【转】医学影像调窗技术!!!!
- PyCharm 设置护眼背景色
- 1 ELK安装部署并监控nginx
- Google的十个核心技术,互联网营销
- OSPF —— 重分发(配置命令)
- 36氪专访| 友盟+CEO朋新宇:大数据赛道会越来越宽,同时也会越来越头部化
- Java-Preferences用法-入门
- Faceswap文档之---使用手册
- 培养孩子讲故事的心得
- 计算机操作系统(慕课版-汤小丹)习题
- Windows11系统下Edge如何兼容IE浏览器
- typescript中的类型type与接口interface
- 基于hbuilder开发的微信小程序音乐播放系统,可添加本地音乐(含源码)
- 【原创】数据分析报告撰写概览