在比较中理解Python内置数据结构:list(列表)、tuple(元组)、dict(字典)、set(集合)

常用的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。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容