继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

编写程序,输入若干整数(整数之间以逗号间隔),统计每个整数的出现次数。

慕先生0340613
关注TA
已关注
手记 431
粉丝 23
获赞 120

大家好,我是皮皮。

一、前言

前几天在Python钻石交流群分享了一个Python基础的问题,这里拿出来给大家分享下,一起学习下。

编写程序,输入若干整数(整数之间以逗号间隔),统计每个整数的出现次数。

这个题目并不难,但是对于初学者来说,还是有点难度的,一起来看看解决方法吧!

二、解决过程

解法一

其实这个题目就是在考你Python基础的内容。代码如下:

import collections
data = input(">>> ")
new_lst = eval(data)
frequency = collections.Counter(new_lst)
print(frequency)

image.png

当然了,初学者肯定是不知道Counter这个方法的,确实有点作弊的嫌疑。

image.png

下面一起来看看其他的方法吧!

【月神】解答

下面这个也是个字典计数,直接上代码,如下所示:

a = eval(input(">>>"))
a_count = dict()
for i in a:
    a_count[i] = a_count.get(i, 0) + 1
print(a_count)

image.png

这里很巧妙地使用了字典,而且使用了get方法,一气呵成。如果你觉得难以理解,还可以看看下面的复杂版本。

解法三

直接上代码了,如下所示:

data = input(">>> ")
new_lst = eval(data)
dic = {}
for item in new_lst:
    if item not in dic:
        dic[item] = 1
    else:
        dic[item] += 1
print(dic)

image.png

这个方法很纯粹,也很容易理解,不多解释了。

三、总结

大家好,我是皮皮。这篇文章主要分享了一道Python基础问题,针对该问题给出了具体的解析和代码演示,一共3个方法,帮助粉丝顺利解决了问题。相信肯定还有其他方法的,欢迎大家积极尝试,如果有好方法,记得也分享给我噢,我帮助分享到群里,大家一起学习交流!

最后感谢【月神】给出的具体解析和代码演示,感谢【dcpeng】、【Jason】、【冯诚】等人参与学习交流。

小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP