【Python_58-66】字典【b站搬运_子木】

字典是什么?

内置的数据结构之一,与列表一样,是可变序列

格式:“键: 值”,键值对。相当于列表当中的一个元素

键值对 的方式存储数据,列表:有序(第一个放进去的元素在第一个位置上) vs 字典:无序

放入字典中的 键 ,必须是一个不可变序列

***不可变序列,就是str字符串等,目前学到2个可变序列就是:列表、字典。


哈希函数

往字典中 存储数据时,要经过一个叫 哈希函数 的工序——要把  放入到 哈希函数 中 进行一个计算(计算的是存储位置)——所以要求 键 必须是不可变序列(str、int、bool......)。

hash函数计算出 键入内容 所在位置

新建 字典——{}并赋值、dict(name=‘lax,age=21’)

直接用花括号时,用 冒号: 连接    or    用dict()函数时,用 等号= 赋值 

查找 字典 元素——对象.get()

最好用get(),直接用[]指定内容,会对不存在的元素查找 报错

判断key——print(?in/not in 对象) ;清空所有——对象.clear(),删除——del 对象

新增、修改——用方括号指定对象并赋值

新增、修改——用方括号指定对象并赋值

获取字典视图(keys、values、键值对)的方法——对象.keys/values/items()并赋值给一个新对象

及 将获取的视图 转换成列表print(list(新对象))

获取的视图 类型是字典_键/值/键值对

字典的遍历

for in循环用来遍历

字典的特点

key不可以重复(重复 就被后一个value覆盖前一个value),value可以重复

key不可以重复(重复 就被后一个value覆盖前一个value)

Mike重复,所以23把2覆盖了

字典会浪费较大内存

key之间的空位就是浪费的空间,因为key所在的位置是由 hash函数 指定的,难以避免会存在“空位”

字典生成式——for in+zip()的使用

用zip()

格式是:{item:price   for item,price in zip(items,prices)}

将item:price 换成 item.upper():price ——> 字符串的小写变大写

你可能感兴趣的:(【Python_58-66】字典【b站搬运_子木】)