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

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

 

创建和使用字典

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

创建空字典

dict={}

非空字典

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

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

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

# 访问某一个键值对
print(dict['Name'])

# 遍历所有key值
# 方法一
for c in dict.keys():
    print(c)
# 方法二
for c in dict:
    print(c)

# 遍历所有的value值
# 方法一
for c in dict.values():
    print(c)
# 方法二
for c in dict:
    print(dict[c])

修改字典和删除字典元素

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

# 修改字典的值
dict['Name'] = "Kuru"

# 删除字典元素
del dict['Name'] 

# 清空字典所有条目
dict.clear()  

添加元素

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

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

# 直接添加
dict['sex']="female"

# 使用update方法
# 参数为字典对象 传入一个新的dict对象 
# key不存在则是添加元素!(如果这个新的dict对象中的key已经在当前的字典对象中存在了,则会覆盖掉key对应的value)
 dict.update({"addr":"Shandong"})

# print(dict)
# {'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) 函数。

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/candice5566/article/details/108956282