1、什么是字典
python内置的数据结构之一,与列表一样是一个可变序列,以键值对的方式存储数据,字典是一个无序的序列。
python的字典是根据key查找value所在的位置(hash函数)
1.1 字典的创建
#用{}创建字典
scores={
'第一':100,'第二':90,'第三':80}
print(scores) #{'第一': 100, '第二': 90, '第三': 80}
#创建dict()的方式创建字典
student=dict(name='XCsss98',age=18) #{'name': 'XCsss98', 'age': 18}
print(student)
#空字典
d={
}
print(d) #{}
1.2 字典中元素的获取
scores={
'第一':100,'第二':90,'第三':80}
print(scores['第二']) #90,若查找的键不存在,则报错
print(scores.get('第二')) #90,查找的键不存在,也不会报错
print(scores.get('第四',0)) #若不存在,返回0
1.3 字典的增删改
scores={
'第一':100,'第二':90,'第三':80}
#key的判断
print('第一' in scores) #True
print('第四' not in scores) #True
#删除
del scores['第一']
print(scores)#{'第二': 90, '第三': 80}
#scores.clear 清空
#增加
scores['第四']=70
print(scores) #{'第二': 90, '第三': 80, '第四': 98}
#修改
scores['第四']=100
print(scores) #{'第二': 90, '第三': 80, '第四': 100}
1.4 字典的视图
scores={
'第一':100,'第二':90,'第三':80}
#获取所有的键
keys=scores.keys()
print(keys) #dict_keys(['第一', '第二', '第三'])
print(list(keys)) #将key组成的视图转为列表 ['第一', '第二', '第三']
values=scores.values()
print(values) #dict_values([100, 90, 80])
print(list(values)) #[100, 90, 80]
#获取所有的key-value对
items=scores.items()
print(items) #dict_items([('第一', 100), ('第二', 90), ('第三', 80)])
print(list(items)) [('第一', 100), ('第二', 90), ('第三', 80)]
1.5 字典元素的遍历
scores={
'第一':100,'第二':90,'第三':80}
for item in scores:
print(item,scores[item],scores.get(item))
#第一 100 100
#第二 90 90
#第三 80 80
1.6 字典的特点
a={
'name':'第一','name':'第二'}
print(a) #{'name': '第二'}, key不允许重复
b={
'name1':'第二','name2':'第二'}
print(b) #{'name1': '第二', 'name2': '第二'} ,value可以重复
#字典中的元素时无序的
#字典可以动态的伸缩
#字典是以空间换时间,查询速度快
1.7 字典生成式
#字典生成式,内置函数zip()
items=['one','two','three']
values=[3,1,5]
a={
i.upper():values for i,values in zip(items,values)} #upper()是大写,可省略
print(a) #{'ONE': 3, 'TWO': 1, 'THREE': 5}