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

Python进阶者 等级 242 0 0
标签:

大家好,我是皮皮。

一、前言

前几天在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学习交流群共同探讨学习。

收藏
评论区

相关推荐

helloworld.net 的总结以及2021年的期待
没有反思的人生不值得过!由时不时向外张望,彻底转向向内审视的一年。 2020年,公历闰年,共366天,52周零2天。二十一世纪二十年代的第1年。 大家好,我是待兔, helloworld.net也就是 helloworld开发者社区的创始人之一,由于前几天感冒了,你知道的,这个时间感冒是有点麻烦的,所以导致这篇文章来的稍晚了点,好饭不怕晚,晚点写有晚点写
Pytorch构建栈式自编码器实现以图搜图任务(以cifar10做数据集)
(Pytorch构建栈式自编码器实现以图搜图任务) 本文旨在使用CIFAR10数据集,构建与训练栈式自编码器,提取数据集中图像的特征;基于所提取的特征完成CIFAR10中任意图像的检索任务并展示效果。 搞清楚pytorch与tensorflow区别 pytorchpytorch是一种python科学计算框架作用: 无缝替换numpy,通过G
JAVA回调机制(CallBack)之小红是怎样买到房子的??
JAVA回调机制CallBack 序言最近学习java,接触到了回调机制(CallBack)。初识时感觉比较混乱,而且在网上搜索到的相关的讲解,要么一言带过,要么说的比较单纯的像是给CallBack做了一个定义。当然了,我在理解了回调之后,再去看网上的各种讲解,确实没什么问题。但是,对于初学的我来说,缺了一个循序渐进的过程。此处,将我对回调机制的个人理解,按
JAVA以UTF
package test; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOExc
Redis Scan的使用方式以及Spring redis的坑
SpringRedisTemplate针对这个Scan进行了封装,示例使用(针对最新库spring-data-redis-1.8.1.RELEASE): Set<Object> execute = redisTemplate.execute(new RedisCallback<Set<Object>>() { @Overr
mysql 5.5以后的版本乱码
5.5以前可以命令行改编码重启生效 也可以通过改配置文件来实现 /etc/my.cnf(我的系统是阿里云的Ubuntu系统) \[client\] 和\[mysqld\]下面加 default-character-set=utf8 可是5.5以后这样改配置文件是行不通的,服务起不来 应该 \[client\]加 default-ch
mysql 的ACID以及隔离级别
事务:保证数据一致性的重要手段 事务百度上说: 事务(Transaction),一般是指要做的或所做的事情。事务由事务开始(**begin transaction**)和事务结束(**end transaction**)之间执行的全体操作组成。 事务操作是一个阶段操作,是一个过程,而非一个节点 start transaction标识事务开始,commi
mysql5.5和以上数据库的连接
MySQL    端口:3306    连接方式:     mysql5:driver:com.mysql.jdbc.Driver  mysql6以上:driver:com.mysql.cj.jdbc.Driver          url:jdbc:mysql://localhost:3306/test       url:jdbc:mysql:/
Angular 中 ngTemplateOutlet 的用法以及ng
一、引言 ==== 今天看到文章:https://segmentfault.com/a/1190000015944548 。于是专门研究一下**ngTemplateOutlet**用法!!!! 官方定义 : ------ **NgTemplateOutlet**: 它是结构指令,根据一个提前备好的 `[TemplateRef](https://www.
C++对象池以及shared_ptr的支持
对象池 和 支持对象池的shared\_ptr 性能测试 数字的单位是微妙 分配5万个 1kb的object  ![](https://static.oschina.net/uploads/space/2018/0405/101015_Hb5B_1391394.png) 10 kb ![](https://static.oschina.net/up
ChatOps可以使您的DevOps变的更好
![](https://oscimg.oschina.net/oscnet/a563a6ac0d03459f95341036e47f675afdd.jpg) > Hi, 大家好。 我是泽阳,今天分享主题为《实施chatops是可以将devops变的更好》,都是一些必备的理论知识。我最近做了几个chatops的实验,已经整理成文章和视频。【点击上方图
Irrlicht以及我的毕业设计
鬼火引擎 ==== * 因为临近毕业,毕业设计报的是一个3D有关一个设计,又因为平时都是在Linux上开发工作所以选了用C++实现的一个比较轻量级引擎。鬼火引擎学习成本不大,不过因为涉及不到高级操作,至于直接写矩阵变换,shader就比较困难了。引擎大部分代码结构都比较统一,可以看到关于场景的创建绘制都在`SceneManager`中,关于显存资源的管
MVVM和MVC的区别,以及MVVM的缺点
**MVVM和MVC的区别** MVC和MVVM的区别其实并不大。都是一种设计思想。 主要就是MVC中Controller演变成MVVM中的viewModel。 MVVM主要解决了MVC中大量的DOM操作使页面渲染性能降低,加载速度变慢,影响用户体验。 当和Model频繁发生变化,开发者需要主动更新到View。 **MVVM:是Model-View
OpenCV4.4 + YOLOv4 真的可以运行了…..
点击上方“**AI算法与图像处理**”,选择加"星标"或“置顶” 重磅干货,第一时间送达![](https://oscimg.oschina.net/oscnet/286b3fb3d5a397d4239b8fdd727a3032356.jpg) 来源:OpenCV学堂 =====================================
PreparedStatement的用法以及与Statement的区别
jdbc(java database connectivity,java数据库连接)的api中的主要的四个类之一的java.sql.statement要求开发者付出大量的时间和精力。在使用statement获取jdbc访问时所具有的一个共通的问题是输入适当格式的日期和时间戳:2002-02-05 20:56 或者 02/05/02 8:56 pm。 通过使