python字典学习笔记
2024-09-23 20:34:54
字典是一种可变容器模型,且可存储任意类型对象。键是不可变类型(且是唯一的),值可以是任意类型(不可变类型:整型,字符串,元组;可变类型:列表,字典)。字典是无序的,没有顺序关系,访问字典中的键值是通过键查询值。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
dic={'name':'Tom','Age':20,'Sex':'man'}
创建字典
dic1={'name':'Tom','Age':18,'Sex':man}
dic2=dic((('name','Jim'),))
print(dic1)
print(dic2)
对应操作
增:
1.
dic1={}
dic1['name']='Tom' #如果name存在,则修改原name键的值。如果不存在就增加一组键值。
2.
eg:dic1.setdefault('name','张三') # 如果键存在不作任何修改,如果不存在就增加一组键值对。并且有返回值。如果有原键的话就返回原键的值,没有就返回新增键的值
查:(通过键来查询相应的值)
dic1={‘name’:'Tom','age':23,'Sex':'man'}
1.dic1['name'] #查询name的值。
2.dic1.keys() # 查看改字典的所有键,并且返回的是dict_keys类型,可用list()方法将其转换为列表。
3.dic1.values() #查看该字典的值。返回值同上。
4.dic1.items() #查看所有的键值对。
改:
dic1={‘name’:'Tom','age':23,'Sex':'man'} dic2={‘name’:'Tom','age':23,'hobby':'girls'}
1.dic1['name']='Alex'
2.dic1.update(dic2)# 将dic2的内容加入dic1,如果有相同的键,就覆盖原值。原则是有就修改值,没有就增加键值对。
删:
dic1={‘name’:'Tom','age':23,'Sex':'man'}
1.dic1.clear() #清空字典中的键值对,但是不删除字典。
2.del dic1['name'] #删除dic1中的某一键值对。
3.del dic1 #删除整个dic1字典。
4.dic1.pop('age')# 删除dic1中的某一键值对,并返回删除键的值。
5.dic1.popitem() #随机删除一组键值对。(很无聊的方法,不知道干嘛用的)
字典的其他操作:
1.dic1=dict.fromkeys(['host1','host2','host3'],'test') #新建一个字典,并且将字典初始化,host代表键,test代表值(值只能写一个,多写还是当一个处理),并且所有的键都是这个值。
2.字典的嵌套:字典里面有字典或者列表什么的。
3.字典的排序:排序原则是如果键或值是数字就按数字大小来排,如果是字符就按照ASCII码值的大小来排。
dic={.............................}
sorted(dic.items) #对键排序
sorted(dic.values) #对值排序
4.字典的遍历
略
最新文章
- nyoj71--独木舟上的旅行
- Understanding transient variables in Java and how they are practically used in HashMap---reference
- kontalk
- Java RMI 入门案例
- Problem D: Integer Inquiry
- celery_01 _celery安装启动
- The Nerd Factor SPOJ - MYQ5
- 【SSH框架】系列之 Spring 整合 Hibernate 框架
- URI和URL的区别 【转】
- Python开发【内置模块篇】os模块
- 使用QPlainText代替QText
- python变量类型&;字符串的内建函数使用
- pycharm 3.4 破解
- 利用PHP将图片转换成base64编码的实现方法
- materia官网地址
- 为什么要用lock 【readonly】object?为什么不要lock(this)?
- 智能合约bug以及修改方案
- 基于flex的不定个数的按钮组
- 第五篇:使用无缓冲IO函数读写文件
- CodeForces-757B Bash's Big Day
热门文章
- appium python andiroid自动化文档整理笔记
- 最详细的cookie和浏览隐私之间的关系
- Linux下利用expect,不用交互模式,直接登陆远程主机
- Class.getResource和ClassLoader.getResource的区别分析
- 51nod 1118 机器人走方格 解题思路:动态规划 &; 1119 机器人走方格 V2 解题思路:根据杨辉三角转化问题为组合数和求逆元问题
- 51nod 1103 N的倍数 思路:抽屉原理+前缀和
- GCD hdu2588
- 搭建dubbo+zookeeper+dubboadmin分布式服务框架(windows平台下)
- Django的form表单之文件上传
- ARCGIS切图:TPK文件的空间参考为地理坐标系