python单词分析 输出第一个出现次数最多的元素及其次数

题目:

小蓝正在学习(✿◡‿◡)一门神奇的语言,这门语言中的单词都是由小写英文字母组 成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。

现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这 个字母出现的次数。

输入:

输入一行包含一个单词,单词只由小写英文字母组成。

对于所有的评测用例,输入的单词长度不超过 1000。

输出:

输出两行,第一行包含一个英文字母,表示单词中出现得最多的字母是哪 个。如果有多个字母出现的次数相等,输出字典序最小的那个。

第二行包含一个整数,表示出现得最多的那个字母在单词中出现的次数。

这个题有很多方法,在这边博客中,我将介绍两种代码块 q(≧▽≦q) 来解决这个问题,我个人比较推荐第一种,第二种没必要这样写,平常也用不着写的这么简短

法一:
  • 从键盘读入数据赋值给word
  • 对word分别进行两次for循环进行遍历
  • 一次获取到元素最大的出现次数是多少
  • 一次获取到出现次数最大的元素,并存储到一个列表中
  • 第二次是for循环获取到的列表,将其对相同的元素进行下标排序,下标小的排序在前面
  • 对结果进行输出
python 复制代码
import os
import sys

# 请在此输入您的代码
# word来存储从键盘输入的字符串数据
print("请输入单词")
word = input()
# a为出现最多的次数
a = 0
# 列表b用来存储出现次数最多的元素
b = []
# 遍历单词
for i in word:
    # 计算每个字母出现的总次数,并赋值给c
    c = word.count(i)
    # print(c)
    # 如果c>=a,即元素出现次数比上一个大的,赋值给a
    if c >= a:
        # a为元素出现的最大次数
        a = c
# 遍历字符串列表
for j in word:
    # 判断是否为出现次数最多的元素
    if word.count(j) == a:
        # 如果是出现次数最多的元素,则把该元素添加到列表b中
        b.append(j)

# 对列表b的元素进行升序排列,排序出现次数一样的字母,将下标小的放在前面
b.sort()
# print(b.sort())
#打印出第一个出现次数最多的元素
print(b[0])
# 打印出元素出现最多的次数
print(a)

还有一种方法,仅需要三行代码就可以完成,但是这三行代码包含的内容比较多,不是很容易思考出来,要求对python的了也得很足 🍭🍭 ,我将努力的写好注释帮助大家理解,虽然但是emm🤣🤣🤣,我感觉我到比赛的时候还是写不出来这个方法(︶^︶),哈哈哈,比赛不推荐这种方法嗷,如果是平常没事练练手倒是可以尝试一波嗷~😁😁😁

法二:
  • 从键盘输入数据,并以列表的形式读取到s中
  • 多次使用sorted函数找出出现次数最多的元素,并排序后取第一个数值赋值给变量m
  • 输出结果,在输出的再次计算变量m出现的次数并输出
python 复制代码
# 从键盘输入数据,并将数据转化为列表的形式写入到 s 中
s=list(input())
# 从列表 s 中找到出现次数最多的字符,并将其赋值给变量 m
# 括号内的sort(s)按照列表s中原来的顺序对s进行排序
# 括号外的sorted对已经排序的s列表次进行降序排列,将出现次数最多的元素按顺序排在前列
# key=lambda自定义排序规则  reverse=True按照降序排列
#最后将排序后的第一个元素即第一次出现次数最大的元素赋值给变量m
m=sorted(sorted(s),key=lambda x:s.count(x),reverse=True)[0]
# sep 指定每个打印项之间的分隔符,默认为空格
# 打印出m,s.count(m)计算m出现的最多次数,用换行符分割这两个变量
print(m,s.count(m),sep='\n')
相关推荐
孤独且没人爱的纸鹤几秒前
【深度学习】:从人工神经网络的基础原理到循环神经网络的先进技术,跨越智能算法的关键发展阶段及其未来趋势,探索技术进步与应用挑战
人工智能·python·深度学习·机器学习·ai
程序伍六七几秒前
day16
开发语言·c++
羊小猪~~4 分钟前
tensorflow案例7--数据增强与测试集, 训练集, 验证集的构建
人工智能·python·深度学习·机器学习·cnn·tensorflow·neo4j
wkj0015 分钟前
php操作redis
开发语言·redis·php
lzhlizihang6 分钟前
python如何使用spark操作hive
hive·python·spark
q0_0p7 分钟前
牛客小白月赛105 (Python题解) A~E
python·牛客
极客代码10 分钟前
【Python TensorFlow】进阶指南(续篇三)
开发语言·人工智能·python·深度学习·tensorflow
庞传奇12 分钟前
TensorFlow 的基本概念和使用场景
人工智能·python·tensorflow
土豆湿16 分钟前
拥抱极简主义前端开发:NoCss.js 引领无 CSS 编程潮流
开发语言·javascript·css
华清远见IT开放实验室20 分钟前
【每天学点AI】实战图像增强技术在人工智能图像处理中的应用
图像处理·人工智能·python·opencv·计算机视觉