目录
  • 一、前言
  • 二、解决过程
    • 解法一
    • 方法二
    • 解法三
  • 三、总结

    一、前言

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

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

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

    二、解决过程

    解法一

    其实这个题目就是在考你Python基础的内容。

    代码如下:

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

    Python中输入若干整数以逗号间隔实现统计每个整数出现次数

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

    Python中输入若干整数以逗号间隔实现统计每个整数出现次数

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

    方法二

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

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

    Python中输入若干整数以逗号间隔实现统计每个整数出现次数

    这里很巧妙地使用了字典,而且使用了​​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中输入若干整数以逗号间隔实现统计每个整数出现次数

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

    三、总结

    这篇文章主要分享了一道Python基础问题,针对该问题给出了具体的解析和代码演示,一共3个方法,帮助粉丝顺利解决了问题。相信肯定还有其他方法的,欢迎大家积极尝试,

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。