目录
一、字典定义
字典是python中的内置数据结构之一,也是一种数据类型,与列表一样是一个可变序列,它是以键值对的方式存储数据,字典是一个无序序列。
结构:字典名 = {'键 key':值 value}
score = {'张三':100,'李四':300}
通过哈希函数计算数据的存储位置并存储,要注意放在字典中的键必须是一个不可变序列(不能进行增删改操作)
二、字典的创建
1、最常见的方式:使用花括号
sco = {'张三':300,'李四':200}
2、使用内置函数 dict()
src = dict( name='jack',age=20)
3、空字典表示
a = { }
三、字典的常用操作
1、键(key)的判断
判断指定的键是否在字典里,用 in 和 not in 判断
print('张三' in sco)
2、键的增删改操作
#del 删除键值对,一删删一对
del sco['张三']
print(sco)
#字典清空----clear()清空字典
sco.clear()
print(sco)
#字典添加元素---添加键值对
sco['赵四']=36
print(sco)
#修改元素
sco['赵四']=100
print(sco)
3、获取字典视图
scos = {'张三':200,'李四':500,'王五':100}
#1、keys() ---->获取字典中的所有key 获取丈夫
keys = scos.keys()
print(keys)
print(list(keys)) #将所有的key组成的视图转化成列表
#2、values() ---->获取字典中所有value 获取妻子
values = scos.values()
print(list(values))
3、items() ---->获取字典中所有的键值对 获取夫妻
items = scos.items()
print(items) #转换之后的列表元素是由元组组成的
4、字典元素的遍历
#字典元素的遍历
for i in scos:
#print(i) #一般遍历得到的是键,想要得到键和值需要用到函数
print(i,scos[i],scos.get(i)) #[]和.get()方法都是根据键得到字典元素的值
四、字典的特点
1、字典的键不允许重复,值可以重复
d = {'name':'张三','name':'李四'}
print(d)
#张三被干掉
{'name': '李四'}
e = {'name':'张三','nike':'张三'} #value可以重复
print(e)
{'name': '张三', 'nike': '张三'}
2、字典生成式
zip( )函数:
#用zip()函数方法打包,将两个列表组在字典中
#如果键,值数量不一致,按数量短的进行匹配
i = ['Fruits','book','other']
s = [34,45,67]
d = {i.upper():s for i,s in zip(i,s)} #upper()函数实现小写字母转化成大写字母
print(d)
upper()函数实现小写字母转化成大写字母