Day6.数据类型-字典
时间:2022-07-24
本文章向大家介绍Day6.数据类型-字典,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
例题引导:
【数字重复统计,以字典形式输出】 随机生成1000个数,统计20-100以内的数字,并统计出现次数
参考答案:
解题思路:先制造1000个随机数—整理随机数以便统计(排序)—构造字典—遍历随机数,通过key值确定value值—打印输出
import random #导入随机数模块
all_nums = [] #定义空列表存储数字
for item in range(1000): #列表长度为1000
all_nums.append(random.randint(20,100)) #选择20-100内的随机数
# print(all_nums) #可以先打印看一下生成的随机数
# print('**********')
sorted_nums = sorted(all_nums) #排序
num_dict = {} #定义空字典
for num in sorted_nums: #循环遍历,通过key值找value
if num in num_dict:
num_dict[num] += 1
else:
num_dict[num] = 1
print(num_dict)
学习引导:
- 数据类型-字典
- 创建
- 增删改查
- 循环
数据类型-字典
关键点:
- 健与值用冒号:分开
- 项与项用逗号,分开
特性:
- key-value结构;
- key必须是不可变类型,唯一性;
- 可存放多个value,可修改,不唯一;
- 无序;
- 查询速度快,不受dict大小影响;
字典的创建
#直接给出key和value
info={'name':'小王',
'num':'20192812',
'gender':'女'}
info
#{'name': '小王', 'num': '20192812', 'gender': '女'}
法二
#key和value分别赋值
keys=[1,2,3,4,5]
{}.fromkeys(keys)
#{1: None, 2: None, 3: None, 4: None, 5: None}
{}.fromkeys(keys,100)
#{1: 100, 2: 100, 3: 100, 4: 100, 5: 100}
字典的增加
#字典的增加
info['age']='20'
info
#{'name': '小王', 'num': '20192812', 'gender': '女', 'age': '20'}
字典的删除 pop/del/clear
法一
#字典的删除
info.pop('gender')
info
#{'name': '小王', 'num': '20192812', 'age': '20'}
法二
del info['name']
info
#{'num': '20192812', 'age': '20'}
法三
info.clear()
info
#{}
字典的修改 update
#字典的修改
dic={'name':'小王',
'num':'20192898',
'gender':'男'}
dic2={'name':'小王',
'num':'20192812',
'gender':'女',
'age':'20'}
dic2
#{'name': '小王', 'num': '20192812', 'gender': '女', 'age': '20'}
dic.update(dic2) #合并后重合的key被覆盖
dic
#{'name': '小王', 'num': '20192812', 'gender': '女', 'age': '20'}
查操作
#查操作
'age'in dic #判断该元素是否在字典中
#True
'age2'in dic
#False
dic.get('name') #读取name的值
#'小王'
dic.keys() #获取所有key值
#dict_keys(['name', 'num', 'gender', 'age'])
dic.values() #获取所有value值
#dict_values(['小王', '20192812', '女', '20'])
dic.items() #以列表返回可遍历的(键, 值) 元组数组
#dict_items([('name', '小王'), ('num', '20192812'), ('gender', '女'), ('age', '20')])
字典的循环 三种
第一种
for i in dic:
print(i) #遍历Key值
'''
name
num
gender
age
'''
第二种
for i in dic.items(): #遍历字典
print(i)
'''
('name', '小王')
('num', '20192812')
('gender', '女')
('age', '20')
'''
第三种
for i,j in dic.items(): #遍历字典
print(i,j)
'''
name 小王
num 20192812
gender 女
age 20
'''
小作业
1.交换字典的key和value
2.构造一个字典,存储以下两位客人所点pizza order:
first:
guest_surname: Grand
crust: thin
toppings: mushrooms cheese onion
second:
guest_surname: Suzu
crust: thick
toppings: mushrooms onion peppers
按上述显示格式输出该字典(注意输出格式的缩进和换行)
- 偷懒新姿势,打造属于RecyclerView的万能适配器Adapter和ViewHolder
- 科普哈希长度扩展攻击(Hash Length Extension Attacks)
- 分析 WordPress 3.8.2 修復的cookie偽造漏洞
- 技术宅打造全能美剧播放器
- 判断是否支持Heartbeat的NSE脚本
- [原创]Fluent NHibernate之旅二--Entity Mapping
- [原创]Fluent NHibernate之旅(三)-- 继承
- Web应用手工渗透测试——用SQLMap进行SQL盲注测试
- IIS4\IIS5 CGI环境块伪造0day漏洞
- [原创]Fluent NHibernate之旅(四)-- 关系(上)
- 基于流量的OpenSSL漏洞利用检测方法
- [原创]Fluent NHibernate之旅(四)-- 关系(中)
- 华为专家 | 轻量化微服务测试实践
- Android Material Design系列之Navigation Drawer
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 再见! JSP !
- SocketFTP多线程处理
- 面经手册 · 第4篇《HashMap数据插入、查找、删除、遍历,源码分析》
- Xray配合awvs漏洞扫描
- 无聊的MISC题解
- MISC-convert | 旋转跳跃
- MISC-多彩
- Web-高明的黑客
- CVE-2017-7529 Nginx整数溢出漏洞分析
- 【Vulnhub】pegasus
- 2019-11-20-app专项测试【Android电量】Battery Historian耗电分析
- CVE-2017-7529 Nginx整数溢出漏洞分析2
- Redis find hot key 牛X!
- Python加水印
- 自动化运维实践 | Ansible变量