python中的字典是什么?
liuian 2024-11-28 00:43 43 浏览
“一起学习,一起成长!”
字典(dictionary)与列表类似,但其中元素的顺序无关紧要,因为它们不是通过像0或1的偏移量访问的。取而代之,每个元素拥有与之对应的互不相同的键(key),通过键来访问。键通常是字符串,但它还可以是Python中其他任意的不可变类型:布尔型、整型、浮点型、元组、字符串,以及其他一些在后面的内容会见到的类型。字典是可变的,因此你可以增加、删除或修改其中的键值对。
1. 使用{}创建字典
>>> empty_dict={}
>>> empty_dict
{}
>>> bierce={"day":"mostly misspent","positive":"one's voice","misfortune":"never misses"}
>>> bierce
{'day': 'mostly misspent', 'positive': "one's voice", 'misfortune': 'never misses'}
2. 使用dict()转换为字典
可以用dict()将包含双值子序列的序列转换成字典。
每个子序列的第一个元素作为键,第二个元素作为值。
>>> lol=[['a','b'],['c','d'],['e','f']]
>>> dict(lol)
{'a': 'b', 'c': 'd', 'e': 'f'}
可以对任何包含双值子序列的序列使用dict():
包含双值元组的列表:
>>> lot=[('a','b'),('b','d'),('e','f')]
>>> lot
[('a', 'b'), ('b', 'd'), ('e', 'f')]
>>> dict(lot)
{'a': 'b', 'b': 'd', 'e': 'f'}
包含双值列表的元组:
>>> tol=(['a','b'],['c','d'],['e','f'])
>>> dict(tol)
{'a': 'b', 'c': 'd', 'e': 'f'}
双字符的字符串组成的列表:
>>> los=['ab','cd','ef']
>>> dict(los)
{'a': 'b', 'c': 'd', 'e': 'f'}
双字符的字符串组成的元组:
>>> tos=('ab','cd','ef')
>>> dict(tos)
{'a': 'b', 'c': 'd', 'e': 'f'}
3. 使用[key]添加或修改元素
>>> python={}
>>> python={'a':'b','c':'d','e':'f','g':'h'}
>>> python
{'a': 'b', 'c': 'd', 'e': 'f', 'g': 'h'}
添加新键值对:
>>> python['new1']='new2'
>>> python
{'a': 'b', 'c': 'd', 'e': 'f', 'g': 'h', 'new1': 'new2'}
使用键修改值:
>>> python['new1']='new2-1'
>>> python
{'a': 'b', 'c': 'd', 'e': 'f', 'g': 'h', 'new1': 'new2-1'}
字典的键必须保证互不相同。如果创建字典时同一个键出现了两次,那么后面出现的值会取代之前的值:
>>> pythoon={'a':'b','a':'c','c':'d'}
>>> pythoon
{'a': 'c', 'c': 'd'}
4. 使用update()合并字典
使用update()可以将一个字典的键值对复制到另一个字典中去。
>>> python={'a':'b','c':'d','e':'f'}
>>> others={'age':26,'pay':'1236'}
>>> python.update(others)
>>> python
{'a': 'b', 'c': 'd', 'e': 'f', 'age': 26, 'pay': '1236'}
如果待添加的字典与待扩充的字典包含同样的键会怎么样?新归入字典的值会取代原有的值:
>>> python2={'age':89}
>>> python.update(python2)
>>> python
{'a': 'b', 'c': 'd', 'e': 'f', 'age': 89, 'pay': '1236'}
5. 使用del删除具有指定键的元素
>>> del python['age']
>>> python
{'a': 'b', 'c': 'd', 'e': 'f', 'pay': '1236'}
>>> del python['a']
>>> python
{'c': 'd', 'e': 'f', 'pay': '1236'}
6. 使用clear()删除所有元素
使用clear(),或者给字典变量重新赋值一个空字典({})可以将字典中所有元素删除:
>>> python.clear()
>>> python
{}
>>> python={}
>>> python
7. 使用in判断是否存在
如果希望判断某一个键是否存在于一个字典中,可以使用in。
>>> python={'a':'b','c':'d','e':'f'}
>>> 'a' in python
True
>>> 'f' in python
False
8. 使用[key]获取元素
这是对字典最常进行的操作,只需指定字典名和键即可获得对应的值:
>>> python['a']
'b'
如果字典中不包含指定的键,会产生一个异常:
>>> python['f']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'f'
有两种方法可以避免这种情况的发生。第一种是在访问前通过in测试键是否存在:
>>> 'f' in python
False
另一种方法是使用字典函数get():
>>> python.get('a')
'b'
反之,若键不存在,如果指定了可选值,那么get()函数将返回这个可选值:
>>> python.get('f','not in python')
'not in python'
否则,会得到None(在交互式解释器中什么也不会显示):
>>> python.get('f',None)
>>>
9. 使用keys()获取所有键
使用keys()可以获得字典中的所有键。
>>> python.keys()
dict_keys(['a', 'c', 'e'])
但在python3中,你只能自己调用list()将dict_keys转换为列表类型。
>>> list(python.keys())
['a', 'c', 'e']
在python3里,同样需要手动使用list()将values()和items()返回值转换为普通的python列表。
10. 使用values获取所有值
使用values()可以获取字典中的所有值:
>>> list(python.values())
['b', 'd', 'f']
11. 使用items()获取所有键值对
使用items()函数可以获取字典中所有的键值对:
>>> list(python.items())
[('a', 'b'), ('c', 'd'), ('e', 'f')]
12.诚邀扫描下方二维码关注公众号,一起学习,一起成长! 使用=赋值,使用copy()复制
与列表一样,对字典内容进行的修改会反映到所有与之相关联的变量名上:
>>> python={'a':'b','c':'d','e':'f'}
>>> python_new=python
>>> python_new
{'a': 'b', 'c': 'd', 'e': 'f'}
>>> python['a']='g'
>>> python
{'a': 'g', 'c': 'd', 'e': 'f'}
若想避免这种情况,可以使用copy()将字典复制到一个新的字典中:
>>> python_new1=python.copy()
>>> python_new1
{'a': 'g', 'c': 'd', 'e': 'f'}
>>> python_new1['a']='u'
>>> python_new1
{'a': 'u', 'c': 'd', 'e': 'f'}
「亲,如果笔记对您有帮助,收藏的同时,记得给点个赞、加个关注哦!感谢!」
「诚邀关注公众号“issnail”,会有惊喜哦!感谢!」
「文中代码均亲测过,若有错误之处,欢迎批评指正,一起学习,一起成长!」
参考书目:python语言及其应用
相关推荐
- windows7怎么进入bios(windows7怎么进入管理员界面)
-
1、开机时按F2键或者DEL键,进入BIOS系统;注:机器型号不同,进入BIOS的按键可能有所不同,具体可参看左下角的屏幕提示。2、选择Security选项卡,选择SecureBoot,按回车键——...
- 截图快捷键ctrl加什么电脑截图
-
ctrl+alt+a是qq的截图快捷键;台式电脑还可以使用的截图方式:方法一:按PrtScSysRq键,然后在文档中右击选择粘贴就可以看见截图,将截图另存为即可获得截图;方法二:按win+PrtScS...
-
- ios官方网站(苏州晶体公司ios官方网站)
-
方法/步骤1,点击下方的【safari】图标。2,搜索苹果官网,点击进入3,进入苹果的页面,点击左上角二道横4.查询苹果的相关产品。1.打开苹果官网:http://www.apple.com.cn/并点击页面右上角的技术支持选项。2.选择您...
-
2025-11-10 09:55 liuian
- 手机突然无法识别u盘(手机突然无法识别u盘怎么办呢)
-
1、手机不支持OTG功能,所以将U盘连接到手机后,手机无法识别U盘的内容,因此显示不了;这种情况只能换台支持OTG功能的手机来连接U盘才行。2、手机支持OTG功能,但是使用的OTG线质量有问题导致无...
- windows10更新不了一直重试(window10一直更新失败)
-
可能是以下几个原因导致的:1.可能是硬盘剩余空间太少或者碎片太多,队伍用文件进行清理并清理碎片即可。2.可能是windows10版本不支持软件进行运行。3.没有权限,打开相应的权限后重启即可情况说明你...
-
- 联想笔记本怎么进入安全模式
-
联想笔记本电脑进入安全模式的方法如下:1、第一步,按下【windows+R】,打开【运行】,输入【msconfig】后,点击【确定】。2、第二步,打开【系统配置】窗口后,点击【引导】。3、第三步,勾选【安全引导】后,选择需要的安全模式,通常...
-
2025-11-10 08:05 liuian
- winxp升级包下载(xp 升级)
-
题主你好,XP系统要升级成WIN7很简单,方法如下:1,下载win7系统iso镜像到本地硬盘,右键使用WinRAR等工具解压出来2,将最大的win7.gho文件和Onekeyghost工具放到同一目...
- windows 7电脑配置要求(windows7电脑配置要求)
-
官方推荐最低配置:处理器:1GHz32位或者64位处理器内存:1GB及以上显卡:支持DirectX9128M及以上(开启AERO效果)硬盘空间:32位16G以上(主分区,NTFS格式)...
- ie主页被360锁定不能修改(ie浏览器首页被锁定360导航怎么取消百度知道)
-
法一、点击开始,运行,键入msconfig点击“确定”,在弹出的窗口中切换到“启动”选项卡,禁用可疑程序启动项。法二、1、打开360安全卫士进入“更多”;2、主页防护;3、在打开的对话框中进行设...
- 镜像文件是干嘛的(镜像文件有什么用)
-
所谓镜像文件其实和ZIP压缩包类似,它将特定的一系列文件按照一定的格式制作成单一的文件,以方便用户下载和使用,例如一个测试版的操作系统、游戏等。镜像文件不仅具有ZIP压缩包的“合成”功能,它最重要的特...
- office免安装版(office免安装版什么意思)
-
1先打开安装程序输入安装序列号KEY,进行安装,在弹出来的界面里我们选择自定义安装;2在【文件位置】选项中选择好文件位置,一般大点的软件我们选择C盘以外的位置安装,可以直接点浏览选择,也可以直接将现有...
- 笔记本可以外接显卡吗(笔记本电脑核显和独显的区别)
-
目前市面上有许多笔记本电脑支持外接显卡,这些笔记本通常具备Thunderbolt3或USB-C接口,这些接口可以通过外接显卡扩展图形性能。例如,戴尔XPS系列、华硕ROG系列、雷蛇Blade系列等都...
- 深度启动盘(深度启动盘安装系统教程)
-
要制作深度系统的启动盘,需要首先下载深度系统的镜像文件,然后选择一个合适的软件进行制作。推荐使用Rufus或Etcher等工具,将镜像文件写入U盘或光盘中,并设置好启动顺序。接着将制作好的启动盘插入电...
- 一周热门
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)
- mysql刷新权限 (34)
