常用的Python 内置数据结构(built-in data structure)有list(列表)、tuple(元组)、dict(字典)、set(集合)
首先,Python中,一切皆对象,所以list(列表)、tuple(元组)、dict(字典)、set(集合)的一个共同点是,都是类(class),都可以用创建对象的方式,创建其对象,例如:

从上图可以看到,创建list、tuple、set和dict,从形式上看,基本一致。值得注意的细小差异是:
list:中括号[]表示
tuple:小括号()表示
set:大括号{}表示
dict: 大括号{}+关键字(key)表示。
Python为了简化这四个常见的数据结构对象的创建,且匹配其它语言中创建list、tuple、set、dict的习惯,创建list、tuple、set、dict对象,可以直接用其表达形式创建、这也是通常的做法,如下图所示:

其次,我们根据数据有否有顺序,是否能索引,是否能重复,是否能修改来对比
list:有顺序、能索引、元素能重复、能修改
tuple:有顺序、能索引、元素能重复、不能修改
set:无顺序、不能索引、元素不能重复、能修改
dict: 无顺序、用关键字(key)索引、关键字(key)、能修改。
再次:list 跟 tuple相比,tuple不能修改的特性,可以用于传递函数返回值结果;tuple的运行效率比list高很多,所以,当不需要修改的数据结构,用tuple更好,list 与 tuple 运行效率比较如下图所示:

再次: list 跟 set相比,可以利用set元素不能重复的特性来消除重复元素,例如

最后,list跟dict相比,若关心元素的顺序(order),用list;若不关心元素的顺序,关心元素的键值(value)与键字(key)的关系,用dict。
网友评论