Python学习系列之字典(十四)

一、什么是字典
字典:

  • Python内置的数据结构之一,与列表一样是一个可变序列
  • 以键值对的方式存储数据,字典是一个无序序列

二、字典示意图:

 

 解析:字典是无序序列,存储时不会按照顺序来存储,即第一个存入的值可能在第6个位置,第二个存储的值可能存储在第4个位置,第四个存储的值可能存储在第1个位置。列表存储是按顺序存储的,第一个存储的是在第一个位置,第二个存储的值在第2个位置。

另:像字符串、整数等都是不可变序列,不可变序列不能执行增删改,如果要进行增删改则需要重新开辟一块内存空间,然后将变量指向新的内存空间。

三、字典的实现原理

字典的实现原理:

  • 字典的实现原理与查字典类似,查字典是先根据部首或拼音查找汉字对应的页码,Python中的字典是根据key查找value所在的位置。

 通过字典,查找任何值的步数都是一样的,即先查到key(通过偏旁和笔画,找到值在哪一页),然后定位到值的位置(找到字典对应的页数,即找到了字)

四、字典的创建

1.字典的创建方式:

1.1 最常用的方式:使用花括号{}

举例:

#使用{}创建字典
score={'张三':100,'李四':99,'王五':88}
print(score,type(score))

  执行结果如下:

1.2 使用内置函数dict()创建字典

举例:

#使用dict()函数创建字典
student=dict(name='jack',age=20)
print(student,type(student))

  执行结果如下:

1.3 创建空字典:

#创建空字典
d={}
print(d,type(d))

  执行结果是:

五、字典的常用操作

1. 字典中元素的获取

  • 通过[]获取,举例:score['张三']
  • 通过get()方法,举例:score.get('张三')

[]取值与使用get()取值的区别:

  • []如果字典中不存在指定的key,抛出keyError异常
  • get()方法取值,如果字典中不存在指定的key,并不会抛出KeyError而是返回None,可以通过参数设置默认的value,以便指定的key不存在时返回

1.1 通过[]获取举例:

#字典元素的获取,第一种方式使用[]
score={'张三':100,'李四':99,'王五':88}
print(score['张三'])
print(score['陈六'])  #不存在时,报KeyError

  执行结果为:

  1.2 通过get()方法举例:

原文地址:https://www.cnblogs.com/wx170119/p/14049395.html