Python基础(五):列表、元组、字典、集合的比较
| 列表 | 元组 | 字典 | 集合 | |
|---|---|---|---|---|
| 英文 | list | tuple | dict | set |
| 放置元素 | 任意类型 | 任意类型 | 任意类型 | 任意类型 |
| 是否有序 | 有序 | 有序 | 有序 | 无序 |
| 可否重复 | 是 | 是 | 键不能重复,值可以 | 否 |
| 可否读写 | 读写 | 只读 | 读写 | 读写 |
| 动态/静态 | 动态,长度大小不固定 | 静态,长度大小固定 | 动态,长度大小不固定 | 动态,长度大小不固定 |
| 可变/不可变 | 可变 | 不可变 | 可变 | 可变 |
| 初始化(空) | a=[] | a=() | a={} | a=set() |
| 初始化(有值) | a=[1,2] | a=(1,2) | a= | a={1,2}或a=set([1,2]) |
| 添加元素 | 在原列表追加元素 | 开辟新的元组 | d= | s= |
| a=[1,2,3] | a=(1,2,3) | d['age']=2 | s.add(4) | |
| a.append(4) | New=a+(4,) | |||
| 读元素 | 索引 | 索引 | 键 | 不支持索引操作,因为集合本质上是一个哈希表 |
| a=[1,2,3] | a=(1,2,3) | a= | 用value in dict/set判断元素在不在字典或集合内 | |
| a[-1] | a[-1] | a['name'] 或者a.get('name') | ||
| 切片 | a=[1,2,3] | a=(1,2,3) | ||
| a[2:3] | a[2:3] | |||
| 性能 | 字典和集合优于列表和元组,元组优于列表 | |||
| 运用场景 | 如果存储的数据或数量是可变的,比如统计一个用户在一周内看了哪些用户的帖子,那么则用列表更合适 | 如果存储的数据和数量不变,比如一个函数返回一个地点的经纬度,然后传给前端直接渲染,那么选用元组更合适 | 对元素的高效查找、去重 | 对元素的高效查找、去重 |
本文来自博客园,作者:是小鱼呀,转载请注明原文链接:https://www.cnblogs.com/sophia12138/p/15871600.html

本文记录列表、元组、字典、集合的比较
浙公网安备 33010602011771号