序列结构之字典

目录

字典的创建

字典元素的访问

字典元素的添加、修改与删除

添加

修改

删除


字典是包含若干“键:值”元素的无序可变序列,字典的每个元素包含用冒号分隔开的”键“和”值“两个部分,表示一种映射或对应关系,也称关联数组。

字典中的”键“不可重复,值可以是任意的,不能使用列表、集合、字典或其他可变类型作为字典的

”键“。

定义字典时,每个”键“和”值“之间用冒号分隔,不同元素之间用逗号分隔,所以元素放在一对大括号

”{}“中。

字典的创建

使用赋值运算符”=“将一个字典赋值给一个变量即可创建一个字典变量

>>> adict = {"Alice":"16","Beth":"18","Tom":"20","Emily":"22"}

也可以使用dict()类型转换函数以不同形式创建字典。

>>> dict1 = dict()    #创建一个空字典,注意不是大括号
>>> type(dict1)    #查看对象类型
<class 'dict'>
>>> dict1 = {}    #创建一个空字典,注意是大括号
>>> keys = ["a","b","c","d"]
>>> values = [1,2,3,4]
>>> dictionary = dict(zip(keys,values))    #根据已有数据创建字典
>>> dictionary
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
>>> dict1 = dict(name = "tan",age = "20")    #以关键参数的形式创建字典
>>> dict2 = dict.fromkeys (['name',"age","sex"])    #以给定内容为"键",创建"值"为空的字典
>>> dict2
{'name': None, 'age': None, 'sex': None}

字典元素的访问

字典中的每一个元素表达一种映射关系或对应关系,根据提供的”键“作为索引就可以访问对应的”值“,如果字典中不存在这个”键“会抛出异常

>>> dict1 = {"Alice":"16","Beth":"18","Tom":"20","Emily":"22"}
>>> dict1['Alice']    #指定的”键“存在,返回对应的”值“
'16'
>>> dict1['wow']    #指定的”键“不存在,抛出异常
Traceback (most recent call last):
  File "<pyshell#15>", line 1, in <module>
    dict1['wow']
KeyError: 'wow'

字典对象提供了一个get()方法来返回指定”键“的”值“,并且允许指定该键不存在时返回特定的”值“。

一般形式:字典名.get(key,default=None)

>>> dict1 = {"Alice":"16","Beth":"18","Tom":"20","Emily":"22"}
>>> dict1.get ('Tom')    #指定的”键“存在,返回对应的”值“
'20'
>>> dict1.get ('wow','Not Exists.')    #指定的键不存在,返回指定的值
'Not Exists.'

使用字典对象的items()方法可以返回字典的”键“:”值“对

>>> dict1 = {"Alice":"16","Beth":"18","Tom":"20","Emily":"22"}
>>> dict1.items()     #返回字典的键值对
dict_items([('Alice', '16'), ('Beth', '18'), ('Tom', '20'), ('Emily', '22')])

使用字典对象的keys()方法可以返回字典的”键”

>>> dict1 = {"Alice":"16","Beth":"18","Tom":"20","Emily":"22"}
>>> dict1.keys ()    #返回字典的键
dict_keys(['Alice', 'Beth', 'Tom', 'Emily'])

使用字典对象的values()方法可以返回字典的”值“

>>> dict1 = {"Alice":"16","Beth":"18","Tom":"20","Emily":"22"}
>>> dict1.values ()    #返回字典的值
dict_values(['16', '18', '20', '22'])

字典元素的添加、修改与删除

添加

以”键“为下标为字典赋值时,有两种含义:

1.若“键”存在,则修改“键”对应的值

2.若“键”不存在,添加一个新元素

>>> dict1 = {"Alice":"16","Beth":"18","Tom":"20","Emily":"22"}
>>> dict1["Tom"] = 24    #键存在,修改键对应的值
>>> dict1
{'Alice': '16', 'Beth': '18', 'Tom': 24, 'Emily': '22'}
>>> dict1["New"] = 20    #键不存在,增加新元素
>>> dict1
{'Alice': '16', 'Beth': '18', 'Tom': 24, 'Emily': '22', 'New': 20}

修改

使用update()方法可以将另一个字典的“键:值”一次性全部添加到当前字典对象,如果两个字典中存在相同的“键”,则以另一个字典中的“值”为准对当前字典进行更新。

>>> dict1 = {"Alice":"16","Beth":"18","Tom":"20","Emily":"22"}
>>> dict1.update ({"Tom":24,"New":20})    #修改“Tom”的值,并增加新元素'New': 20
>>> dict1
{'Alice': '16', 'Beth': '18', 'Tom': 24, 'Emily': '22', 'New': 20}

删除

使用del命令对字典中的指定元素进行删除

>>> dict1 = {"Alice":"16","Beth":"18","Tom":"20","Emily":"22"}
>>> del dict1["Tom"]    #删除指定元素
>>> dict1
{'Alice': '16', 'Beth': '18', 'Emily': '22'}

使用pop()方法删除并弹出指定的元素

>>> dict1 = {"Alice":"16","Beth":"18","Tom":"20","Emily":"22"}
>>> dict1.pop ("Tom")    #删除指定元素并返回值
'20'
>>> dict1
{"Alice":"16","Beth":"18","Emily":"22"}

使用 popitem() 方法随机返回并删除字典中的最后一对键和值

>>> dict1 = {"Alice":"16","Beth":"18","Tom":"20","Emily":"22"}
>>> dict1.popitem ()    #删除最后一个元素并随机返回一个元素
('Emily', '22')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值