字典是一种可变容器模型,且可存储任意类型对象。
字典的每一个键值 key value 对用冒号:分割,每个键值对之间用逗号,分割,整个字典包括在花括号{ }中,格式如下所示:
d = {key1 : value1, key2 : value2 }
键是唯一性的,如果键有重复,最后的一个键值对会替换前面的,值不需要唯一。
>>>dict = {'a': 1, 'b': 2, 'b': 3 }
>>> dict['b']
'3'
>>> dict
{'a': 1, 'b': 3}
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
一、访问字典里的值
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First' }
print( "dict['Name']: ", dict['Name'] )
如果用字典里没有的键访问数据,会输出错误:KeyError : '没有的键'
二、修改字典
(1) 向字典中添加新的元素
dict['School'] = 'GSAU School'
(2) 向字典中修改已经存在的值
dict['Age'] = 8
dict[' 键 '] = ' 值 ' 如果键是字典中没有的,则创建新的键值对;如果键已经存在字典中,则修改原来的键对应的值!!!
三、删除字典元素
(1) 删除单一的元素
del dict['Name'] # 删除键是'Name'的条目
(2) 清空字典里的所有元素,但是字典对象还在!!!
dict.clear() # 清空词典所有的条目
(3) 删除字典
del dict # 删除内存中的字典对象
四、字典内置函数&方法
(1) Python字典包含3个内置函数:
1⃣️len(dict) 计算字典元素个数,即键的总数。
2⃣️srt(dict) 输出字典,以可打印的字符串表示。
3⃣️type(dict) 返回字典类型。<class 'dict'>
(2) Python字典包含一下内置方法:
1⃣️dict.clear() # 删除字典内所有元素
2⃣️dict.copy() # 返回一个字典的浅复制
3⃣️dict.fromkeys(seq, [,vlaue]) # 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值。
4⃣️dict.get(key, default=None) # 返回指定键的值,如果值不再字典中返回default值
5⃣️key in dict # 如果键在字典dict里返回True,否则返回False
6⃣️dict.items() # 以列表返回可遍历的(键、值)元组数组
7⃣️dict.keys() # 返回一个迭代器,可以使用list()来转换为列表
8⃣️dict.update(dict2) # 把字典dict2的键/值对更新到dict里。(合并)
9⃣️dict.setdefault(key, default=None) # 和get()类似,但如果键不存在于字典中,将会添加键并将值设置为default。
?dict.value() # 返回一个迭代器,可以使用list(),转换成列表
1⃣️1⃣️ dict.pop(key,[,default]) # pop()方法删除字典给定键key所对应的值,返回值为被删除的值。key值必须给出。如果key值没有给出,要给一个默认值,不然没有key值,也没有默认值,会报错!!!
1⃣️2⃣️dict.popitem() # 随机返回并删除字典中的一对键和值(一般删除末尾对)。因为字典是无序的,所以说是随机删除!!!
五、遍历字典
遍历字典:
for item in my_dict:
print(item)
取出的是该字典的键
自带函数items() 可以同时取出键与值
for key, value in my_dict.items():
print(key,value)
for item in my_dict.items();
print(item) # 这样取值的话,返回的就是一个元组,里面包含两个元素,第一个是键,第二个为值