列表和字典是python内置的两种非常常见的数据结构,可以将它们理解为一个数据容器,其主要用途都是用于存放数据,但存放数据的形式是不一样的。字典中的数据是由键值对组成,就好比快递柜,在每个柜上都会有一个编号,那这个编号就像字典中的键,而柜子内存放的货物就像字典中的值,获取物品时需要先知道这个编号才能拿到具体的物品。而列表中的元素是由不同的数据组成,存放的数据存在着一定的顺序关系,获取时通过下标即可 。

定义

列表和字典定义都非常简单,但是它们有多种定义方式

初始化列表

#这两种方法都可以初始化一个空列表

lst1 = [] or list()

# 为列表中初始化了10个数字

[ x for x in range(10)]

初始化字典

#这两种方法都可以创建一个空字典

dt = {} 或 dict()

#为列表初始化数据

dt1 = {'grade_one': 237, 'grade_two': 532, 'grade_three': 356}

当然除了以上的初始化方式,还可以通过其它列表的运算或拷贝生成一个新的列表,当然字典也同样如此 。

区别

至于它们有什么相同点,有什么不同点,我们可以通过一张图来看下它们的区别。

实例1:序列中检查元素和获取长度

实例2:推导式

实例3:列表和字典的增删改查

实例4:列表和字典的相互转化

实用场景

在上面已经介绍过,它们都是用于存放数据的容器,那么在开发过程中,当我们要存放数据了,先要考虑使用什么数据类型存放数据比较合适呢?这时我们要首先想到的是列表(不考虑元组和字符串),若存放的数据使用列表无法满足需求时,这个时候可以考虑用字典是否合适,那么像以下的情况用字典处理更加合适。数据库连接参数名和值的存储

函数多参数时,调用函数时传入的数据

返回json数据的处理

定义不同类型的配置文件,获取其内容

实例1:数据库的连接配置信息

如上面的连接库信息,就可以定义成一个字典数据,然后供数据库类进行调用 ,调用时也非常方便,直接将字典传递进去即可(注意前面的**)。

实例2:定义数据类

有时候接口中有很多参数时,同样可以将传递的数据定义成字典,然后统一传递进去,也是非常的方便 。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐