发现一个学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 中找出字符串中出现频率最高的字母相关推荐

  1. 题目十:从字符串2中找出字符串1中的所有字符并按ASCII排序

    给定两个字符串 从字符串2中找出字符串1中的所有字符 去重并按照ASCII码值从小到大排列 输入字符串1长度不超过1024 字符串2长度不超过100 字符范围满足ASCII编码要求,按照ASCII由小 ...

  2. python输入英文句子、找最长单词_在输入fi中找出句子中的最大和最小单词数

    我有一个问题,要求我找出文本文件中单词的最小和最大数量.我已经完成了五个问题中的三个,剩下的两个是关于最小值和最大值的问题,我对此没有任何解决办法.以下是我的代码:感谢您的帮助lines, blank ...

  3. Python中找出dataframe中的重复的行 DataFrame.duplicated()方法

    ● 选择题 以下关于DataFrame.duplicated()函数说法错误的是: A 该函数用于标记dataframe中内容重复的行 B 该函数返回值是一个序列,True表示重复 C 行内容被判定重 ...

  4. [转]Python中找出dataframe中的重复的行 DataFrame.duplicated()方法

    ● 选择题 以下关于DataFrame.duplicated()函数说法错误的是: A 该函数用于标记dataframe中内容重复的行 B 该函数返回值是一个序列,True表示重复 C 行内容被判定重 ...

  5. Python之深入解析Vulture如何一键找出项目中所有无效的代码

    一.前言 Vulture 可以在Python程序中查找未使用的代码,这对于清理和查找大型项目(代码库)中的错误非常有用. 不过由于 Python 的动态特性,像 Vulture 这样的静态代码分析器很 ...

  6. 9.11排序与查找(三)——给定一个排序后的数组,包括n个整数,但这个数组已被旋转过多次,找出数组中的某个元素...

    /**  * 功能:给定一个排序后的数组.包括n个整数.但这个数组已被旋转过多次,次数不详.找出数组中的某个元素.  * 能够假定数组元素原先是按从小到大的顺序排列的.  */ /*** 思路:数组被 ...

  7. 给定一个排序后的数组,包含n个整数,但这个数组已被旋转过多次,找出数组中的某个元素...

    2019独角兽企业重金招聘Python工程师标准>>> /** * 功能:给定一个排序后的数组,包含n个整数,但这个数组已被旋转过多次,次数不详.找出数组中的某个元素. * 可以假定 ...

  8. python出现的次数最多的元素_Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算...

    本文实例讲述了Python找出序列中出现次数最多的元素.分享给大家供大家参考,具体如下: 问题:找出一个元素序列中出现次数最多的元素是什么 解决方案:collections模块中的Counter类正是 ...

  9. 找出一个字符串中出现次数最多的字_海量数据中找出前k大数(topk问题)

    在海量数据中找出出现频率最好的前k个数,或者从海量数据中找出最大的前k个数,这类问题通常被称为top K问题. 针对top K类问题,通常比较好的方案是分治+Trie树/hash+小顶堆(就是上面提到 ...

最新文章

  1. 从0到1 | 手把手教你如何使用哈工大NLP工具——PyLTP!
  2. TCP/IP协议面试常见题目
  3. html5 填充下拉框,Html5添加实现Bootstrap下拉列表框鼠标滑过时打开的插件教程
  4. p3p-header解决跨域访问cookie
  5. Coursera课程Python for everyone:Quiz: Single-Table SQL
  6. wxWidgets:wxStringBuffer类用法
  7. 【转】医学影像调窗技术!!!!
  8. PyCharm 设置护眼背景色
  9. 1 ELK安装部署并监控nginx
  10. Google的十个核心技术,互联网营销
  11. OSPF —— 重分发(配置命令)
  12. 36氪专访| 友盟+CEO朋新宇:大数据赛道会越来越宽,同时也会越来越头部化
  13. Java-Preferences用法-入门
  14. Faceswap文档之---使用手册
  15. 培养孩子讲故事的心得
  16. 计算机操作系统(慕课版-汤小丹)习题
  17. Windows11系统下Edge如何兼容IE浏览器
  18. typescript中的类型type与接口interface
  19. 基于hbuilder开发的微信小程序音乐播放系统,可添加本地音乐(含源码)
  20. 【原创】数据分析报告撰写概览

热门文章

  1. pip 将 某包指定到某目录 批量安装
  2. Clang:LLVM 的 C 语言家族前端
  3. LLVM IR 理解
  4. MLIR算子量化Quantization
  5. 2021年大数据Flink(八):Flink入门案例
  6. Java IDEA Debug进制二维数组
  7. DCN-2655 同异步端口PPP (chap)认证
  8. [JS]正则式的使用示例:替换字符串中所有指定内容
  9. Java map 知识
  10. Java 数值大小比较