百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

python中的字典是什么?

liuian 2024-11-28 00:43 55 浏览

“一起学习,一起成长!”

字典(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语言及其应用

相关推荐

win10系统故障修复工具(win10系统的故障修复界面)
  • win10系统故障修复工具(win10系统的故障修复界面)
  • win10系统故障修复工具(win10系统的故障修复界面)
  • win10系统故障修复工具(win10系统的故障修复界面)
  • win10系统故障修复工具(win10系统的故障修复界面)
天猫积分兑换根本抢不到(2021天猫积分兑换根本抢不到)

因为天猫积分的东西是有限的,但是很多人想要它们。如果你想抢到它,你最好注意启动秒杀的时间,在你启动倒计时时做好准备,并立即点击交换验证码,然后点击确认。一般最慢的时间是十秒内甚至四五秒内下单,五分钟内...

win10任务管理器未响应(win10任务管理器没反应)

未响应这种情况应该是:1、说明程序是正在运行,但由于是系统运行内存不足,或者病毒、垃圾等造成的系统卡顿了。2、可以尝试重启系统、杀毒、清理垃圾即可。解决方法一:双击“此电脑”我的电脑的时候,出现资源管...

新电脑装win7进不了系统(新电脑安装win7系统启动不了)
新电脑装win7进不了系统(新电脑安装win7系统启动不了)

解决方法:1、开机按F8,选择“最好一次正确配置”尝试修复。2、开机按F8,选择“安全模式”尝试修复。3、如果方法1,2不能修复,通过系统还原或者重新安装系统修复。二、如果软件无法修复,仍然无法启动,那么就是硬件故障原因造成的。比如硬盘、主...

2025-12-25 21:55 liuian

台式键盘锁住了打不了字怎么解锁
台式键盘锁住了打不了字怎么解锁

1.找到在键盘上靠左侧的位置,有一个fn的键,按住fn键。2.然后找到键盘最上面f8的键,把fn和f8一起按住,即可完成操作。3.然后此时看到键盘已经解除锁定,就可以可以正常输入了,这样就完成了键盘的解锁操作。...

2025-12-25 21:05 liuian

怎么超频显卡(显卡怎么超频使用)

显卡超频犯法如下:1、首先是显卡体质的检测,如果不知道显卡的体质,盲目加电压或者频率很容易导致超频的失败,检测显卡体质需要用到软件超频和拷机软件。2、接下来是BIOS准备阶段,用户可以选择从现有显卡提...

自动关机怎么设置win10指令(win10设置自动关机代码)

1最简单的方法是通过系统自带的计划任务来设置自动开关机。2打开‘任务计划程序’,选择‘创建基本任务’,按照提示完成设置,可以选择定时执行或在特定条件下执行。3另外也可以通过第三方软件来实现自动开...

苹果系统修复软件(iphone修复软件)

牛学长苹果修复工具是一个知名的修复工具,经过多年的发展和改进,已经被广大用户验证为靠谱可信赖的工具。它具有强大的修复功能,可以解决苹果设备的各种问题,如系统崩溃、黑屏、无法开机等。该工具采用先进的技术...

硬盘损坏的原因(硬盘损坏严重怎么处理)

导致电脑硬盘坏的原因有以下几点:1、经常性的非正常关机、断电等情况都会导致硬盘出现坏块,突然停电后又马上恢复最容易引起系统故障,严重的就会让硬盘直接物理损坏。2、电压不稳定,很容易造成物理坏道。3、灰...

win10调制解调器出现错误(window10调制解调器报告了一个错误)

方法一1、按下win+i组合键打开windows设置,在设置界面点击网络和internet;2、在左侧点击【拨号】按钮;3、在右侧拨号下方点击宽带链接,然后点击【高级选项】;4、打开...

台式电脑如何设置ip地址(设置台式机ip地址)
台式电脑如何设置ip地址(设置台式机ip地址)

方法1、打开电脑的控制面板,进入设置界面。2、然后找到网络和Internet选项,点击进入。3、进入之后点击选择网络和共享中心。4、点击左侧的更改适配器设置栏。5、然后找到需要设置的网络连接,鼠标右键选择属性。6、然后双击Internet协...

2025-12-25 18:05 liuian

centos系统安装教程(centos安装总结)

之前在线在Debian内安装Gentoo,大体步骤如下:1.mkdir/new,chroot进去正常安装新系统。2.将静态编译的busybox放到根目录。3.停掉所有服务,umount所有有关目录。...

不用电脑怎么恢复(不用电脑怎么恢复出厂设置)

操作方法01方法一:通过设置重置电脑使用快捷键Windows+A,点击所有设置,点击更新系统-恢复,重置此电脑点开始。02选择仅保留我的文件,删除应用和设置,提示窗口会显示出将被删除的应用,点击下一步...

最强视频播放器(2020视频播放器排行榜前十名)

应该是MXPlayer。他是一款安卓版上十分强悍的视频播放器,他以解码性能强、兼容性高而闻名,并且,对视频字幕的支持更是堪称一绝,支持在线匹配,对特效字幕的支持也是非常的高的。作为一款优质的手机视频播...

三星固态驱动官网(三星固态官方软件)

三星手机序列号查询官网是http://www.samsung110.com/。手机序列号(S/N号)查询方法:设置-关于手机-状态-序列号(序号)。或通过以下方式查询:通过机器包装盒上的标贴查询用...