day 05 字典dic(增删改查 嵌套)
字典的初识:
why:
列表可以存储大量的数据,数据之间的关联性不强
['太白', 18, '男', '大壮', 3, '男']
列表的查询速度比较慢。
what:容器型数据类型:dict。
how:
数据类型的分类(可变与不可变):
可变(不可哈希)的数据类型:list dict set
不可变(可哈希)的数据类型: str bool int tuple
字典:{}括起来,以键值对形式存储的容器型数据类型:
dic = {'太白': {'name': '太白金星','age': 18, 'sex': '男'}, 'python22期': ['朱光亚', '大壮', '雪飞', '岑哥'], }
键必须是不可变的数据类型:int , str (bool tuple几乎不用) 唯一的。
值可以是任意数据类型,对象。
字典3.5x版本之前(包括3.5)是无序的。
字典3.6x会按照初次建立字典的顺序排列,学术上不认为是有序的。
字典3.7x以后都是有序的。
字典的优点:查询速度非常快,存储关联性的数据。
字典的缺点:以空间换时间。
字典的创建方式:
# 面试会考# 方式一:# dic = dict((('one', 1), ('two', 2), ('three', 3)))# print(dic) # {'one': 1, 'two': 2, 'three': 3}# 方式二:# dic = dict(one=1, two=2, three=3)# print(dic)# 方式三:# dic = dict({'one': 1, 'two': 2, 'three': 3})# print(dic)
验证字典的合法性:
dic = {[1,2,3]: 'alex', 1: 666} # 键要不可变的数据类型print(dic)dic = {1: 'alex', 1: '太白', 2: 'wusir'} # 键要唯一print(dic)
fromkeys()
dic=dict.fromkeys('abc',[])print(dic)#{'a': [], 'b': [], 'c': []}
字典的增删改查
dic = {'name': '太白', 'age': 18, 'hobby_list': ['直男', '钢管', '开车']}# 直接增加 有则改之,无则增加 # 增:# 增:# 增:# 增:# dic['age'] = 23 # dic.setdefault('age', 45)#塞的第副的 有则不变,无则增加## ret = dic.pop('hobby','没有此键') #按照键删除键值对 有返回值设置第二个参数则无论字典中有无此键都不会报错# dic.clear() ## clear 普利饿 清空 **# # del dic['age'] # del **# dic['name'] = 'alex' # 改# 改# 改# 改# 改# print(dic)# print(dic['hobby_list'])# 查# 查# 查# 查# 查# 查# 查# l1 = dic.get('hobby_list1','没有此键sb') # print(l1) # 可以设置返回值# print(dic.keys(),type(dic.keys()))# print(list(dic.keys()))# 可以转化成列表# for key in dic.keys():# print(key)#循环输出建# values()# print(dic.values())# print(list(dic.values()))##转为列表# for value in dic.values():# print(value)#循环输出值# print(dic.items()) #请循环输出所有的key和value# for key,value in dic.items():# print(key,value) ###重要# a,b = ('name', '太白')# print(a,b)# 面试题# a = 18 #拆包# b = 12# a,b = b,a# # a,b = 12,18# print(a,b)
相关练习题:
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}# 请在字典中添加一个键值对,"k4": "v4",输出添加后的字典# 请在修改字典中 "k1" 对应的值为 "alex",输出修改后的字典# 请在k3对应的值中追加一个元素 44,输出修改后的字典# print(dic['k3'])# l1 = dic.get('k3')# print(l1)# dic.get('k3').append(44)# print(dic)# 请在k3对应的值的第 1 个位置插入个元素 18,输出修改后的字典
字典的嵌套
dic = { 'name': '汪峰', 'age': 48, 'wife': [{'name': '国际章', 'age': 38},], 'children': {'girl_first': '小苹果','girl_second': '小怡','girl_three': '顶顶'}}# 1. 获取汪峰的名字。## 2.获取这个字典:{'name':'国际章','age':38}。## 3. 获取汪峰妻子的名字。# 4. 获取汪峰的第三个孩子名字。
转载于:https://www.cnblogs.com/saoqiang/p/10908357.html
day 05 字典dic(增删改查 嵌套)相关推荐
- 字典(dict),增删改查,嵌套
一丶字典 dict 用{}来表示 键值对数据 {key:value} 唯一性 键 都必须是可哈希的 不可变的数据类型就可以当做字典中的键 值 没有任何限制 二丶字典的增删改查 1.增 dic[k ...
- python字典进行大写转化_python之字典的增删改查
1.列表的缺点 列表可以存储大量的数据,数据之间的关联性不强. 列表的查询速度比较慢. 容器型数据类型:dict 2.数据类型的分类(可变与不可变) 可变(不可哈希)的数据类型:list dict s ...
- 字典,和字典的增删改查
1. 什么是字典 字典是以key:value的形式来保存数据 用{}表示. 存储的是key:value 2. 字典的增删改查(重点) 1. 添加 dic[新key] = 值 setdefault() ...
- python字典增删改查项目_字典的增删改查如何操作?
什么是字典? 字典是一种可变,无序,可迭代的储存形式 在字典中它们的储存是以键值对来存的! 也就是吧两个相关的值关联起来,通过我的键来查找我的值! 可以存储各种的数据类型 ! 字典的操作跟列表一样,分 ...
- 列表的增删改查,嵌套等,及元组的查
一丶列表 1.什么是列表 列表是一个可变的数据类型 列表由[]表示每一项元素,使用逗号隔开,列表什么都能装,能装对象的对象. 列表可以装大量的数据 lst = ["赵四",&quo ...
- # 遍历删除字典元素_Python基础知识:快速了解字典的增删改查以及自定义不可变字典...
字典在很多的高级语言中是很常见的,java中的hashmap,php中的键值对的数组,python中的是dict,它是一个可变的容器模型,可以存储任意的数据结构,但是容器中的每个元素都是以键值对的形式 ...
- 字典的增删改查 daty 5
字典:python中非常重要的数据类型,在python中唯一一个映射的数据类型数据类型分类 按照数据可变与不可变: # 不可变数据类型: int str bool tuple # 可变数据类型: li ...
- python嵌套列表操作_python 列表增删改查 嵌套 相关操作
---恢复内容开始--- 今日内容: 一.列表 1. 列列表的介绍 列列表是python的基础数据类型之⼀一 ,其他编程语⾔言也有类似的数据类型. 比如JS中的数 组, java中的数 ...
- python自学第七天之字典的增删改查
1.增: dic[key] = valuedic.setdefault(key,value) #如果在字典中存在就不进行添加,不存在就进行添加可以通过key查询,没有这个key就返回None 例: d ...
最新文章
- mysql ef sql语句_EF to MySQL 的 Database.ExecuteSqlCommand 和 SqlQuery
- 鴻雁 Anser cygnoides
- WPF bitmap转bitmapimage 使用 CreateBitmapSourceFromHBitmap内存泄漏
- html盒子模型页面居中,【静态页面架构】CSS之盒子模型
- androidstuio实现页面跳转_vue-router 基础:4类路由跳转示例
- linux screen vim 颜色不一样,tmux中的Vim显示错误的颜色
- CDS ORF 5‘UTR 3'UTR
- 报错:error while loading shared libraries: libz.so.1: cannot open shared object file
- 征途2助手网关服务器,【征途2】官方网站-《征途2》夏日激情来袭,清凉一夏版本送限定套装...
- 大数据技术在电子政务中的应用
- ART模式下dex2oat出错导致系统无法正常启动
- 基于vlan 无线用户隔离
- MySql版本号查看命令
- 嵌入式软件异步编程:请求的多阶段异步处理
- 计算机按键 shift的作用,电脑shift键的十一个妙用
- ubuntu20.04开机黑屏解决方法
- 日常英语---十一、MapleStory/Monsters/Level 201-210(Dark Demon Eagle Rider)
- Android自定义控件开发入门与实战(1)绘图基础
- 2018 BACS Regional Programming Contest C. BACS, Scoundrel Shopkeeper and Contiguous Sequence (模拟)
- 基于模板匹配的目标跟踪法
热门文章
- java开发总结_java开发几点总结
- 学习C++项目——mysql 数据库知识学习(关于 mysql 8.0 版以后基础部分学习)
- 一次性搭建Hadoop高可用集群
- 官方华为鸿蒙os正式推送的版本,鸿蒙OS 2.0他来了!华为HarmonyOS 2.0开发者公测版正式推送...
- [linux]单网卡绑定多个IP
- 从源码角度彻底理解ReentrantLock(重入锁)
- 《灵枢-五色》明堂藩蔽图
- Vue : Expected the Promise rejection reason to be an Error
- 死磕Spring AOP系列2:剖析Bean处理器之BeanNameAutoProxyCreator
- android.view.VelocityTracker