MoistenLe 发表于 2023-7-7 18:31:13

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

前面是老师的答案,我开始没想出来,
我有思路但是代码见得太少了
就在网上搜索了一下
就是后面这个程序,
谁来帮我解释下,什么意思?

歌者文明清理员 发表于 2023-7-7 18:37:54

歌者文明清理员 发表于 2023-7-7 18:38:29

你是哪里不懂?

歌者文明清理员 发表于 2023-7-7 18:38:55

https://blog.csdn.net/chl183/article/details/106956807

sfqxx 发表于 2023-7-7 18:40:00

所有代码全部贴上来

歌者文明清理员 发表于 2023-7-7 18:41:03

sfqxx 发表于 2023-7-7 18:40
所有代码全部贴上来

cao,为什么我就领不到币

sfqxx 发表于 2023-7-7 18:42:51

歌者文明清理员 发表于 2023-7-7 18:41
cao,为什么我就领不到币

{:9_217:}

MoistenLe 发表于 2023-7-8 10:05:59

sfqxx 发表于 2023-7-7 18:40
所有代码全部贴上来

就是所有代码呀

MoistenLe 发表于 2023-7-8 10:36:01

歌者文明清理员 发表于 2023-7-7 18:38
https://blog.csdn.net/chl183/article/details/106956807

脑袋嗡嗡嗡

hziyan 发表于 2023-7-8 11:49:08

希望你下次可以直接用文字而非图片。。实在不方便,还得我手打
解释一下大致意思和作用罢,涉及类的知识可能你还没学

counter = Counter(list1)
这一句代码意思是,统计 list1 中出现的各个数字出现的次数,如列表,数字2出现了4次,数字3出现了一次,以此类推

i = counter.most_common(1)
这句代码将出现次数最多的数字(元素)赋值给变量 i ,如上文的列表,得出的结果就是 i = 2

所以这两句代码目的只是把出现最多的数字找出来了,其他的应该很好理解,后面的if-else语句就是判断一下出现次数最多的数字是否是列表中间的数字(也就是检测这个数字是否在列表中间),
如果是,那么就是主要元素

MoistenLe 发表于 2023-7-8 13:43:17

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

i = counter.most_common(1)这个(1) 啥意思

hziyan 发表于 2023-7-9 09:42:16

本帖最后由 hziyan 于 2023-7-9 09:44 编辑

MoistenLe 发表于 2023-7-8 13:43
i = counter.most_common(1)这个(1) 啥意思

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

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

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

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

拆解完毕.{:10_269:}

yoga16s 发表于 2023-7-9 09:51:55

前来看答案
页: [1]
查看完整版本: 谁来给我解释一下后面这个程序呀!