2022年 12月 19日

Python中字典的用法及其基本操作

字典是什么
字典是Python中唯一内建的映射类型,是一种可变容器类型,可以存储任意类型对象。
键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。

 

创建和使用字典

字典由多个键与其对应的值构建成的键-值对组成,中间由冒号隔开,项之间用逗号隔开,字典由大括号括起来。空字典由{}组成

创建空字典

dict={}

非空字典

dict = {'Alice': '23', 'Beth': '34', 'Cecil': '45'}

 

遍历字典里中所有的key和value的值 

  1. dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
  2. # 访问某一个键值对
  3. print(dict['Name'])
  4. # 遍历所有key值
  5. # 方法一
  6. for c in dict.keys():
  7. print(c)
  8. # 方法二
  9. for c in dict:
  10. print(c)
  11. # 遍历所有的value值
  12. # 方法一
  13. for c in dict.values():
  14. print(c)
  15. # 方法二
  16. for c in dict:
  17. print(dict[c])

 

修改字典和删除字典元素

  1. dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
  2. # 修改字典的值
  3. dict['Name'] = "Kuru"
  4. # 删除字典元素
  5. del dict['Name']
  6. # 清空字典所有条目
  7. dict.clear()

 

添加元素

同学们,字典里是没有append这个方法的,那是列表的方法,不要乱用哦

  1. dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
  2. # 直接添加
  3. dict['sex']="female"
  4. # 使用update方法
  5. # 参数为字典对象 传入一个新的dict对象
  6. # key不存在则是添加元素!(如果这个新的dict对象中的key已经在当前的字典对象中存在了,则会覆盖掉key对应的value)
  7. dict.update({"addr":"Shandong"})
  8. # print(dict)
  9. # {'Name': 'Zara', 'Age': 7, 'Class': 'First', 'sex': 'female', 'addr': 'Shandong'}

 

字典的一些特性

  1. 字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行
  2. 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
  3. 键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行
  4. 字典是完全无序的映射集合,当你遍历字典元素时,添加元素的顺序与访问元素的顺序均无任何关联

 

字典的实现

字典引用了哈希表的原理,使得关键字和值一一对应。

  • 散列表(Hash table,也叫哈希表),是根据关键码值(Key和value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。

  • 给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数。