大家好,我是皮皮。
一、前言
前几天在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学习交流群共同探讨学习。