如约而至,紧接着上一期文章,小编将会陆续把全套的Python笔记将依次发放给大家,便于大家学习Python、期末备考、巩固基础等
(这几期是公众号小插曲,后期发放编程技术的话主要还是会围绕Java来展开~感谢大家支持)
字典
字典是Python内置的数据结构之一<class 'dict'>,与列表一样是一个可变的序列(进行增删改)
以键值对的方式存储数据,字典是一个无序的序列
第一个放进去不一定在第一个位置(它底层会用hash计算键进行放入)
字典会浪费较大的内存,是一种空间换时间的数据结构
无序不可重复
字典中的可以是不可变对象
scores={'张三': 100, '李四' : '98'}
根据key找value,类似于java中的Map,也都是无序不可重复 ,重复即覆盖
字典的创建
最常用的方式:使用花括号
scores={' 张三' : 100, '李四' : 98}
使用内置函数dict()
dict(name = 'jack' , age= 20)
取值与使用get()取值的区别
[]如果字典中不存在指定的key,抛出keyError异常
get()方法取值,如果字典中不存在指定的key,并不会抛出KeyError,而是返回None,可以通过参数设置默认的value,以便指定的key不存在时返回
scores={'张三': 100, '李四' : '98'}scores.get('哈哈',99) #99是在查找哈哈不存在时候返回99
key的判断
in :指定的key在字典中存在返回True
not in:指定的key在字典中不存在时返回True
字典的删除:del scores['张三']
字典的新增:scores['jack']=90 没有则新增,有则value覆盖
字典的清空:clear
获取字典视图
获取字典视图的三个方法:
keys():获取字典中所有key,类型<class 'dict_keys'>
也可以将其转换为列表,list(keys)
values():获取字典中所有value,类型<class 'dict_values'>
items():获取字典中所有的key,value对
scores={'张三':100,'李四':98,'王五':45}# 获取所有的keykeys = scores.keys()print(keys) # dict_keys(['张三', '李四', '王五'])print(type(keys)) # <class 'dict_keys'>print(list(keys)) # ['张三', '李四', '王五']# 获取所有valuevalues=scores.values()print(values) # dict_values([100, 98, 45])print(type(values)) # <class 'dict_values'>print(list(values)) # [100, 98, 45]# 获取所有的key-value对items=scores.items()print(items) # dict_items([('张三', 100), ('李四', 98), ('王五', 45)])# 这个小括号称为元祖print(list(items))# [('张三', 100), ('李四', 98), ('王五', 45)]
字典元素的遍历
scores={'张三':100,'李四':98,'王五':45} for item in scores: # scpres.get()和scores[]都是根据key获取value print(item,scores[item],scores.get(item))
输出
张三 100 100
李四 98 98
王五 45 45
字典生成式
内置函数zip()
用于将可迭代的对象作为参数,将对象中对应的元素打包成一个元祖,然后返回由这些元组组成的列表
items=['Fruits','Books','Others']prices=[96,78,85]d = {item : price for item,price inzip(items , prices)}print(d) # {'Fruits': 96, 'Books': 78, 'Others': 85}# d = {item.upper() : price for item,price in zip(items , prices)} # item.upper()是全部变成大写
●为了应付期末考试,我又学习了一门语言
●1760字,让你拿捏['列表']