Python的字典类型
2024-10-09 19:59:15
Python的字典类型为dict,用{}来表示,字典存放键值对数据,每个键值对用:号分隔,每个键值对之间用,号分隔,其基本格式如下:
d = {key1 : value1, key2 : value2 }
键一般是唯一的,如果重复最后一个键值对会替换前面的,值不需要唯一,值可以取任何数据类型,但键必须是不可变的可哈希的,如字符串,数字或元组。
一、字典的“增删改查”
1.向字典中添加元素
将添加元素的键放进方括号中,然后用赋值操作,将添加元素的值赋值给键,示例如下:
lol = {"亚索": "剑豪", "露露": "仙灵女巫", "提莫": "迅捷斥候"}
lol["李青"] = "盲僧"
print(lol) {'亚索': '剑豪', '露露': '仙灵女巫', '提莫': '迅捷斥候', '李青': '盲僧'}
使用setdefault(key, value)方法,示例如下:
lol = {"亚索": "剑豪", "露露": "仙灵女巫", "提莫": "迅捷斥候"}
lol.setdefault("赵信", "德邦总管")
print(lol) {'亚索': '剑豪', '露露': '仙灵女巫', '提莫': '迅捷斥候', '赵信': '德邦总管'}
2.删除元素
使用pop(key)方法,示例如下:
lol = {"亚索": "剑豪", "露露": "仙灵女巫", "提莫": "迅捷斥候"}
lol.pop("亚索")
print(lol) {'露露': '仙灵女巫', '提莫': '迅捷斥候'}
使用del,示例如下:
lol = {"亚索": "剑豪", "露露": "仙灵女巫", "提莫": "迅捷斥候"}
del lol["露露"]
print(lol) {'亚索': '剑豪', '提莫': '迅捷斥候'}
popitem()方法可以删除字典中随机一个元素(Python3.6删除字典最后一项):
lol = {"亚索": "剑豪", "露露": "仙灵女巫", "提莫": "迅捷斥候"}
lol.popitem()
print(lol) {'亚索': '剑豪', '露露': '仙灵女巫'}
3.更改字典中的元素
通过key直接赋值,可以强制修改:
lol = {"亚索": "剑豪", "露露": "仙灵女巫", "提莫": "迅捷斥候"}
lol["露露"] = "小萝莉"
print(lol) {'亚索': '剑豪', '露露': '小萝莉', '提莫': '迅捷斥候'}
使用update()方法,将新元素和更改后的元素存放进字典:
lol = {"亚索": "剑豪", "露露": "仙灵女巫", "提莫": "迅捷斥候"}
loli = {"露露": "小萝莉","阿狸": "九尾妖狐"}
lol.update(loli)
print(lol) {'亚索': '剑豪', '露露': '小萝莉', '提莫': '迅捷斥候', '阿狸': '九尾妖狐'}
4.查找
使用key进行查找:
lol = {"亚索": "剑豪", "露露": "仙灵女巫", "提莫": "迅捷斥候", "阿狸": "九尾妖狐"}
print(lol["提莫"]) 迅捷斥候
使用get()方法进行查找,没有返回None,可以指定返回内容:
lol = {"亚索": "剑豪", "露露": "仙灵女巫", "提莫": "迅捷斥候", "阿狸": "九尾妖狐"}
print(lol.get("安妮", "黑暗之女")) 黑暗之女
使用setdefault()方法,没有返回None,可以指定返回内容:
lol = {"亚索": "剑豪", "露露": "仙灵女巫", "提莫": "迅捷斥候", "阿狸": "九尾妖狐"}
print(lol.setdefault("提莫", "小提莫")) 迅捷斥候
二、字典的操作
获取所有key,示例如下:
lol = {"亚索": "剑豪", "露露": "仙灵女巫", "提莫": "迅捷斥候", "阿狸": "九尾妖狐"}
print(lol.keys()) dict_keys(['亚索', '露露', '提莫', '阿狸'])
获取所有value,示例如下:
lol = {"亚索": "剑豪", "露露": "仙灵女巫", "提莫": "迅捷斥候", "阿狸": "九尾妖狐"}
print(lol.values()) dict_values(['剑豪', '仙灵女巫', '迅捷斥候', '九尾妖狐'])
获取所有键值对,示例如下:
lol = {"亚索": "剑豪", "露露": "仙灵女巫", "提莫": "迅捷斥候", "阿狸": "九尾妖狐"}
print(lol.items()) dict_items([('亚索', '剑豪'), ('露露', '仙灵女巫'), ('提莫', '迅捷斥候'), ('阿狸', '九尾妖狐')])
clear()清空字典中的所有元素:
lol = {"亚索": "剑豪", "露露": "仙灵女巫", "提莫": "迅捷斥候", "阿狸": "九尾妖狐"}
lol.clear()
print(lol) {}
fromkeys()快速创建一个dict:
dic = dict.fromkeys(['Jay','JJ'], ['周杰伦', '林俊杰'])
print(dic) {'Jay':['周杰伦', '林俊杰'], 'JJ':['周杰伦', '林俊杰']}
注意:如果用fromkeys创建出的字典,value是列表,会有浅拷贝问题,当一个列表增加元素,其他列表也会增加。
最新文章
- JAVA设计模式之模板模式
- 【转载】 Spark性能优化指南——基础篇
- 开发工程师面试的秘密( 整理自 Export C Programming )
- linux 学习随笔-文件目录管理
- iOS事件传递&;响应者链条
- 【POJ】【1637】Sightseeing tour
- jQuery之手势密码
- Angularjs中的缓存以及缓存清理
- Invalid bound statement (not found):xxx错误的可能原因
- hive 非等值连接, 设置hive为nonstrict模式
- Hadoop环境搭建--Docker完全分布式部署Hadoop环境(菜鸟采坑吐血整理)
- Mybatis框架基础支持层——反射工具箱之Reflector&;ReflectorFactory(3)
- localStorage、sessionStorage用法以及区别
- redux最佳实践
- 背水一战 Windows 10 (50) - 控件(集合类): ItemsControl - 基础知识, 数据绑定, ItemsPresenter, GridViewItemPresenter, ListViewItemPresenter
- Android学习笔记PreferenceFragment的使用
- 微软BI 之SSAS 系列 - 在SQL Server 2012 中开发 Analysis Services Multidimensional Project
- JVM工具jcmd实践
- Core Java 6
- selenium对应三大浏览器(谷歌、火狐、IE)驱动安装
热门文章
- 升级ambari、HDP版本(ambari 2.1升级到2.4、HDP2.3升级到2.5)
- Oracle迁移到MySQL性能下降的注意点(转)
- 关于JFame 屏幕居中显示的问题
- 黄聪:bootstrap的模态框modal插件在苹果iOS Safari下光标偏离问题解决方案
- java线程之间的通信
- 解除IE锁定主页批处理
- 【Mysql】事务日志-Write Ahead logging vs command-logging(转)
- 服务容错保护断路器Hystrix之三:断路器监控(Hystrix Dashboard)-单体监控
- WordPress无法显示Gravatar头像的解决方法
- linux安装tomcat9