字典
一、定义
Python内置的数据结构之一,与列表一样是一个可变序列。
与键值对的方式存储数据,字典是一个无序的序列(必须的)
变量名 = {键:值,键:值,键:值}
二、字典的实现原理
pyhthon中的字典是根据key查找value所在的位置
三、字典的创建
(1)使用花括号 score = {‘张三’:100,‘李四’:50}
(2)使用内置函数dict() dict( name =‘jack’,age=20)
std = dict(name = 'liu',age = 20,grade=98) print(std)
结果:{'name': 'liu', 'age': 20, 'grade': 98}
四、字典的常用操作
(1)获取字典中的元素
第一种方式,使用 [ ]
第二种方式,使用get()方法
std = dict(name = 'liu',age = 20,grade=98) print(std['name']) # print(std['class']) #出现报错 print(std.get('name')) print(std.get('class'))
结果:
liu
liu
None
注意:get()方法和【】的区别,由上述例子可得当查询的键不存在时,使用【】会报错,而使用get方法结果是None
(2)key的判断
是否存在 :in 与 not in
删除指定的键值对: del score['张三']
清空字典的元素:score.clear()
字典元素的新增:score['陈六']=38
修改元素:参照上一个
# del std['name'] # std.clear()#清空 std['gender'] ='F' print(std) std['age']=30
(3)获取字典视图
keys()----------获取字典的所有key
values()---------获取字典的所有value
items()-----------获取字典的所有key和value
#获取所有的values value = std.values() print(value) print(list(value)) #获取所有的keys key = std.keys() print(list(key)) #获取所有的items item = std.items() print(item) print(list(item))#转换之后的列表元素是由元组组成的
结果:
dict_values(['liu', 20, 98])
['liu', 20, 98]
['name', 'age', 'grade']
dict_items([('name', 'liu'), ('age', 20), ('grade', 98)])
[('name', 'liu'), ('age', 20), ('grade', 98)]
(4)字典元素的遍历
for 字典中的键 in 字典:
print( )
for item in std: print(item,std[item],std.get(item))
结果:
name liu liu
age 20 20
grade 98 98
五、字典的特点
(1)字典中所有键不允许重复,但是值可以重复
(2)字典中的元素是无序的
(3)字典中的key必须是不可变对象
(4)字典也可以根据需要动态地伸缩
(5)字典会浪费较大的内存,是一种使用空间换时间的数据结构
六、字典生成式
使用内置函数zip()生成,进行打包,返回可迭代对象
#生成式 name = ['Fruits','Books','Others'] prices = [100,30,20] d = {name:prices for name,prices in zip(name,prices) } print(d)
结果:{'Fruits': 100, 'Books': 30, 'Others': 20}

浙公网安备 33010602011771号