大家好,我是皮皮。
一、前言
前几天在Python钻石交流群分享了一个Python基础的问题,这里拿出来给大家分享下,一起学习下。
编写程序,输入若干整数(整数之间以逗号间隔),统计每个整数的出现次数。
这个题目并不难,但是对于初学者来说,还是有点难度的,一起来看看解决方法吧!
二、解决过程
解法一
其实这个题目就是在考你Python基础的内容。代码如下:
import collections data = input(">>> ") new_lst = eval(data) frequency = collections.Counter(new_lst) print(frequency)
当然了,初学者肯定是不知道Counter
这个方法的,确实有点作弊的嫌疑。
下面一起来看看其他的方法吧!
【月神】解答
下面这个也是个字典计数,直接上代码,如下所示:
a = eval(input(">>>")) a_count = dict() for i in a: a_count[i] = a_count.get(i, 0) + 1 print(a_count)
这里很巧妙地使用了字典,而且使用了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)
这个方法很纯粹,也很容易理解,不多解释了。
三、总结
大家好,我是皮皮。这篇文章主要分享了一道Python基础问题,针对该问题给出了具体的解析和代码演示,一共3个方法,帮助粉丝顺利解决了问题。相信肯定还有其他方法的,欢迎大家积极尝试,如果有好方法,记得也分享给我噢,我帮助分享到群里,大家一起学习交流!
最后感谢【月神】给出的具体解析和代码演示,感谢【dcpeng】、【Jason】、【冯诚】等人参与学习交流。
小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。
------------------- End -------------------