鱼C论坛

 找回密码
 立即注册
查看: 1866|回复: 12

谁来给我解释一下后面这个程序呀!

[复制链接]
发表于 2023-7-7 18:31:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
前面是老师的答案,我开始没想出来,
我有思路但是代码见得太少了
就在网上搜索了一下
就是后面这个程序,
谁来帮我解释下,什么意思?
5463364.png
微信图片_20230707182712.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-7 18:37:54 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-7 18:38:29 | 显示全部楼层
你是哪里不懂?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-7 18:38:55 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-7 18:40:00 | 显示全部楼层

回帖奖励 +1 鱼币

所有代码全部贴上来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-7 18:41:03 | 显示全部楼层
sfqxx 发表于 2023-7-7 18:40
所有代码全部贴上来

cao,为什么我就领不到币
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-7 18:42:51 | 显示全部楼层
歌者文明清理员 发表于 2023-7-7 18:41
cao,为什么我就领不到币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-8 10:05:59 | 显示全部楼层
sfqxx 发表于 2023-7-7 18:40
所有代码全部贴上来

就是所有代码呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-8 10:36:01 | 显示全部楼层
歌者文明清理员 发表于 2023-7-7 18:38
https://blog.csdn.net/chl183/article/details/106956807

脑袋嗡嗡嗡
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-8 11:49:08 | 显示全部楼层
希望你下次可以直接用文字而非图片。。实在不方便,还得我手打
解释一下大致意思和作用罢,涉及类的知识可能你还没学
counter = Counter(list1)
这一句代码意思是,统计 list1 中出现的各个数字出现的次数,如列表[2,2,4,2,3,6,2],数字2出现了4次,数字3出现了一次,以此类推
i = counter.most_common(1)[0][0]
这句代码将出现次数最多的数字(元素)赋值给变量 i ,如上文的列表,得出的结果就是 i = 2

所以这两句代码目的只是把出现最多的数字找出来了,其他的应该很好理解,后面的if-else语句就是判断一下出现次数最多的数字是否是列表中间的数字(也就是检测这个数字是否在列表中间),
如果是,那么就是主要元素
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-8 13:43:17 | 显示全部楼层
hziyan 发表于 2023-7-8 11:49
希望你下次可以直接用文字而非图片。。实在不方便,还得我手打
解释一下大致意思和作用罢,涉及类的知识可 ...

i = counter.most_common(1)[0][0]  这个(1)[0][0] 啥意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-9 09:42:16 | 显示全部楼层
本帖最后由 hziyan 于 2023-7-9 09:44 编辑
MoistenLe 发表于 2023-7-8 13:43
i = counter.most_common(1)[0][0]  这个(1)[0][0] 啥意思


真正理解的话建议去看楼上发的关于这个玩意的文档,
我这里仅做一个拆解

还是拿[2,2,4,2,3,6,2]举例,简单理解为:
counter.most_common(1) 等于 [(2,4)]
# 这个.most_common(n),意思是按照出现次数从高到低将元素排列,以一个二元组列表的形式
# 出现次数最多的在最前面,然后逐个递减
# n限制的是输出多少个二元组,如果为2则是 [(2,4),(4,1)]
# 显而易见地,在(2,4)这个二元组里面,2是元素,4是出现次数

[(2,4)][0][0] 等于 2
# 不难理解,这个列表的第一个元素是(2,4),而(2,4)的第一个元素是2

i 等于 counter.most_common(1)[0][0] 等于 [(2,4)][0][0] 等于 2
# 最终结果,也就是i = 2

拆解完毕.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-9 09:51:55 | 显示全部楼层
前来看答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 19:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表