零基础入门学习Python(13):字典

零基础入门学习Python(13):字典

字典是Python中唯一一个映射类型
创建和访问字典:键对应的值

>>> dict1 = {}                           #创建一个空的字典
>>> type(dict1)
<class 'dict'>
>>> dict2 = {1:'one',2:'two',3:'three'}  #使用花括号和键值对创建字典
>>> dict2
{1: 'one', 2: 'two', 3: 'three'}
>>> dict2[1]                             #通过键来访问字典中的值
'one'
>>> dict3 = {'xiuxiu':'my name','Jessica':'my English name','LittleSeven':'my dog\'s name'}
>>> dict3                                #字典中没有顺序
{'LittleSeven': "my dog's name", 'Jessica': 'my English name', 'xiuxiu': 'my name'}
>>> dict3['xiuxiu']
'my name'

除了可以使用花括号{}创建字典,python中还有专门的函数dict()来创建字典对象

>>> dict1 = dict()                       #使用dict()创建一个空字典
>>> dict1
{}
>>> dict2 = dict((('A',65),('B',66),('C',67)))   #通过(键,值)对来创建字典,由于dict()只能有一个参数,所以把(键,值)对打包成元组
>>> dict2
{'A': 65, 'C': 67, 'B': 66}
>>> dict2['A']
65
>>> dict3 = dict(myName1 = 'xiuxiu',myName2 = 'Jessica',myDogName = 'LittleSeven')  #通过关键字创建字典
>>> dict3
{'myDogName': 'LittleSeven', 'myName2': 'Jessica', 'myName1': 'xiuxiu'}
>>> dict3['myName1']
'xiuxiu'
>>> dict3['myName1'] = 'Jinxiu'         #如果键存在,则改变键对应的值
>>> dict3
{'myDogName': 'LittleSeven', 'myName2': 'Jessica', 'myName1': 'Jinxiu'}
>>> dict3['everyDay'] = 'happy'         #如果键不存在,则添加一个新的(键->值)对
>>> dict3
{'myDogName': 'LittleSeven', 'myName2': 'Jessica', 'everyDay': 'happy', 'myName1': 'Jinxiu'}

有关创建和访问字典的几个常用函数

>>> dict1.fromkeys((1,2,3))             #创建字典,有两个参数,第一个参数是键,第二个参数是键对应的值,当第二个参数为空时,每个键对应的值为None
{1: None, 2: None, 3: None}
>>> dict2.fromkeys((1,2,3),'xiuxiu、Jessica')  #只能给键赋相同的值,即所有键对应的值均相同
{1: 'xiuxiu、Jessica', 2: 'xiuxiu、Jessica', 3: 'xiuxiu、Jessica'}
>>> dict2 = dict((('A',65),('B',66),('C',67)))
>>> dict2.keys()                        #返回一个列表,列表中元素为字典的键
dict_keys(['A', 'C', 'B'])
>>> dict2.values()                      #返回一个列表,列表中元素为字典中键对应的值
dict_values([65, 67, 66])
>>> dict2.items()                       #返回一个列表,列表中元素为字典的(键,值)对
dict_items([('A', 65), ('C', 67), ('B', 66)])

当使用键查找字典中对应的值时,如果键不存在,会产生KeyError的错误,我们同样可以使用get()函数获取字典中键对应的值,此时如果键不存在,不会出错

>>> dict2.get('D')                      #键不存在时,不产生任何动作
>>> dict2.get('D','NoExist')            #get()函数可以有第二个参数,如果键不存在,就会显示第二个参数
'NoExist'
>>> dict2.get('A','NoExist')            #如果键存在,则返回键对应的值
65

下面通过简单的代码演示介绍字典的其他常用的内置函数

>>> dict1 = dict((('A',65),('B',66),('C',67),('D',68)))
>>> dict1.pop('B')                      #弹出键对应的值
66
>>> dict1
{'A': 65, 'C': 67, 'D': 68}
>>> dict1.popitem()                     #弹出字典中任意一个(键,值)对
('A', 65)
>>> dict1
{'C': 67, 'D': 68}
>>> dict1.setdefault('E')               #向字典加入键值对,如果只给出键,则其对应的值为None
>>> dict1
{'C': 67, 'E': None, 'D': 68}
>>> dict1.setdefault('F',70)
70
>>> dict1
{'C': 67, 'E': None, 'D': 68, 'F': 70}
>>> dict2 = {'E':69}
>>> dict1.update(dict2)                 #用dict2来更新dict1
>>> dict1
{'C': 67, 'E': 69, 'D': 68, 'F': 70}
>>> dict1.clear()                       #清空字典
>>> dict1
{}

零基础入门学习Python(12):lambda表达式、filter()和map()

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值