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])
>>>