当前位置: 首页 > news >正文

Python字典-- 内附蓝桥题:统计数字

字典

~~不定时更新🎃,上次更新:2023/02/28
在这里插入图片描述

🗡常用函数(方法)

1. dic.get(key) --> 判断字典 dic 是否有 key,有返回其对应的值,没有返回 None

举个栗子🌰

dic = {2:9, 5:8, 4:6}
print(dic.get(2)) # 9
print(dic.get(0)) # None

2. dic.items() --> 将字典以列表返回可遍历的(键、值)元组数组

🔴主要用于遍历键值举个栗子🌰

dic = {"左轮":"123","右轮":"567"}
for key,value in dic.items():print(key,value)# 左轮 123# 右轮 567

🔵主要用于按键排序或者按值排序举个栗子🌰

dic = {2:9, 5:8, 4:6}
x1 = sorted(dic.items(),key=lambda x:x[0]) # 按键排序
print(x1) # [(2, 9), (4, 6), (5, 8)]x2 = sorted(dic.items(),key=lambda x:x[1]) # 按值排序
print(x2) # [(4, 6), (5, 8), (2, 9)]

蓝桥例题1- 统计数字 1️⃣2️⃣3️⃣

题目描述

某次科研调查时得到了 n 个自然数,每个数均不超过 1.5∗1091.5*10^91.5109。已知不相同的数不超过 10410^4104 个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。

输入描述

1 行是整数 n,表示自然数的个数。

2 ~ n+1行每行一个自然数。

其中,1≤n≤2∗1051 \le n \le 2*10^51n2105,每个数均不超过 1.5∗1091.5*10^91.5109

输出描述

输出 m 行( mn 个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。

输入输出样例

示例 1

输入

8
2
4
2
4
5
100
2
100

输出

2 3
4 2
5 1
100 2

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

思路

  1. 由于数的范围相对较大,所以我们不会开等量的数组(列表)。我们可以通过字典进行存储,其中键表示出现的数字,值表示该数字出现的次数。
  2. 通过字典内置的 get 方法,我们可以很好判断,该数字是否有在字典中,没有就设其对应的值为1(相当于出现一次),有就直接对键+1(相当于出现次数+1)
  3. 我们通过对字典的键进行排序,就可以得到题目中想要的效果,最后遍历即可

代码

dic = {}n = int(input())
for i in range(n):x = int(input())if dic.get(x) == None:dic[x] = 1else:dic[x] += 1dic = sorted(dic.items(),key=lambda x:x[0])for i in dic:print(i[0],i[1])

如有错误,敬请指正,欢迎交流🤝,谢谢♪(・ω・)ノ

http://www.lryc.cn/news/23715.html

相关文章:

  • 文本处理工具
  • C++STL详解(三)——vector的介绍和使用
  • GEBCO海洋数据下载
  • 【C++容器】vector、map、hash_map、unordered_map四大容器的性能分析【2023.02.28】
  • ACM-蓝桥杯训练第一周
  • python基础—字符串操作
  • 【Spring】通过JdbcTemplate实现CRUD操作
  • 实战|掌握Linux内存监视:free命令详解与使用技巧
  • 嵌入式入门必看!调试工具安装——基于 AM64x核心板
  • JAVA开发(java类加载过程)
  • 【vulhub漏洞复现】Thinkphp 2.x 任意代码执行
  • LeetCode 1145. 二叉树着色游戏 -- 简单搜索
  • HyperGBM的三种Early Stopping方式
  • 心系区域发展,高德用一体化出行服务平台“聚”力区域未来
  • AI画图_stable-diffusion-webui安装使用指南(1)
  • 浅谈MySQL主从复制
  • docker-compose安装kafka和php简单测试
  • 【蓝桥云课】快速幂
  • 解决windows安装wxPython安装失败、速度过慢及PyCharm上wx包爆红问题
  • 封装小程序request请求[接口函数]
  • 嵌入式 STM32 通讯协议--MODBUS
  • 互联网人看一看,这些神器你用过哪些?
  • Kotlin学习:5.2、异步数据流 Flow
  • EPICS synApps介绍
  • Pycharm和跳板机 连接内网服务器
  • mysql去重查询的三种方法
  • PHP反序列化
  • 什么蓝牙耳机打电话效果最好?通话效果好的无线蓝牙耳机
  • Tesseract centos环境安装,基于springboot图片提取文字
  • Elasticsearch7.8.0版本优化——写入速度优化