一、列表和元组

共同点

  • 任意数据类型有序集合

  • 都⽀持负数索引

  • 都⽀持切⽚操作

  • 可以随意嵌套(其实就是任意数据类型的一种表现)

  • 通过list()和tuple()函数相互转换

不同点

列表 元组
动态 静态
list.reverse() 倒转列表list.sort() 排序 没有内置的这两个函数
存储空间可变包含以下内容:- 指针- 已分配内容- 元素内容 存储空间固定

各有千秋

  • 占用空间

集合元素少,空间差异可忽略;

集合元素数量级大,空间差异明显 ,列表空间明显大于元组;

可用作选择 列表和元组的参考因素

  • 性能

元组性能略优

原因如下:

python优化静态数据->资源缓存;

元组属于静态数据,会被缓存,资源重复利用率高;

在初始化方面,元组性能高于列表;

二、字典和集合