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

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

大家好,我是皮皮。


一、前言


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


------------------- End -------------------

相关文章
|
机器学习/深度学习 计算机视觉 网络架构
【GhostNet】复现CVPR2020| 保证模型轻量化的同时,提升网络的性能表现
【GhostNet】复现CVPR2020| 保证模型轻量化的同时,提升网络的性能表现
1054 0
【GhostNet】复现CVPR2020| 保证模型轻量化的同时,提升网络的性能表现
|
IDE PHP Apache
PhpStorm+Xampp+Xdebug搭建环境并部署应用
PhpStorm+Xampp+Xdebug搭建环境并部署应用
386 0
|
存储 运维 监控
Seata-微服务架构开发的必备利器
Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式务服务,于 2019 年 1 月正式开源。 目前有四种事务模式,分别是 AT 事务模式(阿里独创)、 TCC事务模式、XA 事务模式以及 Saga 事务模式,基本囊括了市面上大部分事务模式,可以成为是一个一站式的分布式事务解决方案。
Seata-微服务架构开发的必备利器
|
8月前
|
存储 监控 安全
日志审计是什么?为什么企业需要日志审计?
日志审计是对信息系统中产生的日志进行收集、分析和存储的过程,记录系统活动如用户登录、操作行为等。企业通过日志审计可满足合规要求(如金融、医疗行业的法规),及时发现安全威胁(如异常登录、数据泄露),并为事故调查提供依据。工具如EventLog Analyzer能帮助企业生成合规报表,确保符合PCI DSS、HIPAA等标准,并支持实时监控与存档分析,保障网络安全与数据隐私。
514 2
|
8月前
|
缓存 前端开发 IDE
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
162 0
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
8月前
|
弹性计算 监控 安全
助力企业高效构建安全、可观测的云上数据中心
本次课程聚焦于助力企业高效构建安全、可观测的云上数据中心,涵盖三大方面:1) 数据中心网络面临的挑战,包括VPC、NAT网关和私网连接等产品的功能与挑战;2) 数据中心网络产品重磅发布,涉及安全设计建议、容灾能力提升及深度可观测能力的增强;3) 用户体验升级,通过VPC IPAM实现高效的网络地址管理和简化的产品体验。整体旨在为企业提供更安全、稳定、高效的云上解决方案。
|
10月前
|
数据采集 分布式计算 监控
深入调查研究 Kettle
【10月更文挑战第20天】
177 0
|
11月前
|
tengine 关系型数据库 MySQL
Tengine、Nginx安装MySQL数据库命令教程
本指南详细介绍了在Linux系统上安装与配置MySQL数据库的步骤。首先通过下载并安装MySQL社区版本,接着启动MySQL服务,使用`systemctl start mysqld.service`命令。若启动失败,可尝试使用`sudo /etc/init.d/mysqld start`。利用`systemctl status mysqld.service`检查MySQL的服务状态,确保其处于运行中。通过日志文件获取初始密码,使用该密码登录数据库,并按要求更改初始密码以增强安全性。随后创建一个名为`tengine`的数据库,最后验证数据库创建是否成功以及完成整个设置流程。
|
11月前
|
JavaScript 前端开发 安全
轻松上手Web Worker:多线程解决方案的使用方法与实战指南
轻松上手Web Worker:多线程解决方案的使用方法与实战指南
284 0
|
XML JSON 程序员
程序员必知:常用天气预报API接口整理(转)
程序员必知:常用天气预报API接口整理(转)
211 0