python字典

一、什么是字典

Python的字典,也称为hash或关系数组,是Python的基础数据类型之一,也是其唯一的映射类型。区别于序列类型,序列类型通过数组的形式存储,
通过索引的方式来取得对应位置上的值,索引与其对应的值本身并没有关系。而字典是一种映射类型,本身是没有顺序的,通过Key-Value的的对应关
系来取值。字典的键必须是独一无二的,而值可以取任何类型,但是值必须是不可变的,如字符串、数组或元组

 

二、如何创建字典

方法1: 将键值对用大括号包裹起来,之间用逗号隔开就创建了一个字典,如果要创建一个空字典,直接一对大括号即可

>>> dict1 = {}                      #创建一个空字典
>>> type(dict1)
<class 'dict'>
>>> dict2 = {'A':1,'B':2,'C':3}     #用键值对创建一个字典,键分别为'A','B','C',值分别为1,2,3
>>> dict2
{'A': 1, 'B': 2, 'C': 3}
>>> type(dict2)
<class 'dict'>
>>>

 

方法2: 用dict()函数将一堆由映射关系的数据转换为字典

方法2:用dict()函数将一堆由映射关系的数据转换为字典

>>> dict1 = dict(A=1,B=2,C=3)
>>> dict2 = dict([('A',1),('B',2),('C',3)])
>>> dict3 = dict({'A':1,'B':2,'C':3})
>>> dict4 = dict(zip(['A','B','C'],[1,2,3]))
>>> dict1
{'A': 1, 'B': 2, 'C': 3}
>>> dict2
{'A': 1, 'B': 2, 'C': 3}
>>> dict3
{'A': 1, 'B': 2, 'C': 3}
>>> dict4
{'A': 1, 'B': 2, 'C': 3}
>>> dict1 == dict2 == dict3 == dict4
True
>>>

 

三、访问字典

要访问字典里的值,可以使用下面的方式

>>> dict1 = {'A':1,'B':2,'C':3}
>>> dict1['A']
1
>>> dict1['B']
2
>>>

 

四、字典的方法

clear()

清空字典

>>> dict1 = {'A':1,'B':2,'C':3}
>>> dict1.clear()
>>> dict1
{}
>>>

 

copy()

浅拷贝一个字典

>>> dict1 = {'A':1,'B':2,'C':3}
>>> dict2 = dict1.copy()
>>> dict2
{'A': 1, 'B': 2, 'C': 3}
>>>

 

fromkeys()

用于创建并返回一个新的字典,它有两个参数,第一个参数是字典的键,第二个参数是可选的,是传入键对应的值,默认为None

>>> dict1 = {}
>>> dict1.fromkeys((1,2,3,4))
{1: None, 2: None, 3: None, 4: None}
>>> dict1.fromkeys((1,2,3,4),'Keys')
{1: 'Keys', 2: 'Keys', 3: 'Keys', 4: 'Keys'}
>>>

 

get()

根据键获得其对应的值,当键不存在时,返回None,如果想要没有找到时返回自己想要返回的数据,在其后面添加参数即可

>>> dict1 = {'A':1,'B':2,'C':3}
>>> dict1.get('A')
1
>>> dict1.get('C')
3
>>> dict1.get('D')
>>> dict1.get('D','没有找到')
'没有找到'
>>>

 

items()

获得字典所有的项

>>> dict1 = {'A':1,'B':2,'C':3}
>>> dict1.items()
dict_items([('A', 1), ('B', 2), ('C', 3)])
>>>

 

keys()

获得字典所有的键

>>> dict1 = {'A':1,'B':2,'C':3}
>>> dict1.keys()
dict_keys(['A', 'B', 'C'])
>>>

 

pop()

给定字典的键弹出其对应的值

>>> dict1 = {'A':1,'B':2,'C':3}
>>> dict1.pop('A')
1
>>> dict1.pop('C')
3
>>> dict1
{'B': 2}
>>>

 

popitem()

随机弹出字典的一个项

>>> dict1 = {'A':1,'B':2,'C':3}
>>> dict1.popitem()
('C', 3)
>>> dict1
{'A': 1, 'B': 2}
>>> dict1.popitem()
('B', 2)
>>> dict1
{'A': 1}
>>>

 

setdefault()

setdefault() 方法和 get() 方法有些类似,不同之处在于 setdefault() 方法找不到键时会自己添加一个

>>> dict1 = {'A':1,'B':2,'C':3}
>>> dict1.setdefault('B')
2
>>> dict1
{'A': 1, 'B': 2, 'C': 3}
>>> dict1.setdefault('D')
>>> dict1
{'A': 1, 'B': 2, 'C': 3, 'D': None}
>>>

 

update()

更新字典

>>> dict1 = {'A':1,'B':2,'C':3}
>>> dict1.update(A='a')
>>> dict1
{'A': 'a', 'B': 2, 'C': 3}
>>>

 

values()

获得字典的所有值

>>> dict1 = {'A':1,'B':2,'C':3}
>>> dict1.values()
dict_values([1, 2, 3])
>>>

 

posted @ 2018-07-11 19:00  SuperCodeX  阅读(238)  评论(0编辑  收藏  举报