第八天-字典
一、认识字典(dict)
- 字典是容器型数据类型(序列);将{}作为容器的标志,里面的键值对用逗号隔开
{键1:值1,键2:值2,·······}
容器的特点:
1)字典是可变的——支持增删改
2)无序——不支持下标
3)对元素的要求——键值对
键的要求:任何不可变类型的数据,一般使用字符串;键唯一;对值没有要求
二、字典的增删改
-
查——查的目的是获取对应键后大的值。
1)字典[键]——获取指定键对应的值
2)在不确定字典中是否有想要的键的时候使用
字典.get(键)
字典.get(键,默认值)stu={'name':'大海','age':22,'gender':'男','tsl':'12346'} print(stu['age']) print(stu.get('age'))
-
字典[键]=值——如果原字典中有指定键则改,如果没有则增加。
stu={'name':'大海','age':22,'gender':'男','tsl':'12346'} stu['name']='小海' stu['h'] = 175 print(stu)
-
字典.setdefault()——单纯的添加,如果原字典中有这个键则不修改。
students = [ {'name':'大海','age':2,'gender':'男','tsl':'12346','score':90}, {'name':'大河','age':12,'gender':'女','tsl':'12346','score':65}, {'name':'大江','age':25,'gender':'女','tsl':'12346'}, {'name':'大湖','age':30,'gender':'男','tsl':'12346','score':63} ] for i in students: i.setdefault('score',0) print(students)
-
删——删除键值对
del 字典[键]——删除指定键值对
字典.pop(键)——取出指定键值对的值
三、字典的相关应用
-
运算符
相关列表,字典不支持:+,*,比较大小
-
相关函数
dict(数据)
数据的要求:
1)这个数据必须是一个数列
2)序列中元素必须是有且中有两个元素的小序列,
两个元素中第一个元素是不可变的数据 -
相关方法
1)字典.clear ——清空字典
2)字典.copy——赋值产生一个一模一样的新字典
3)返回值
字典.values()——返回所有的值
字典.keys()——返回所有的键
字典.items()——返回所有的键值对
dog ={'name':'阿财','age':2,'color':'黑','breed':'哈'} print(dog.values()) print(dog.keys()) print(dog.items())
4)练习:用列表推导式交换字典的键和值
dict1 = {10: 20, 'a': 'b', 'c': 30} new_dict1 = dict([(j,i) for i , j in dict1.items()]) print(new_dict1)
5)字典.update(字典2)——将字典2中所有键值对添加到字典1