ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

元组(tuple) vs 列表(list) 完整区别

元组(tuple) vs 列表(list) 完整区别 元组(tuple) vs 列表(list) 完整区别1. 写法不同列表[]方括号lst[1,2,a]元组()圆括号只有一个元素要加逗号(5,)tup(1,2,a)single(5,)# 不加逗号只是数字5不是元组2. 最核心可变 / 不可变列表可变 mutable创建后能增、删、改元素lst[10,20]lst[0]99lst.append(30)lst.pop()# 完全合法元组不可变 immutable一旦定义不能修改里面任何元素不能增删改t(10,20)t[0]99# 直接报错 TypeErrort.append(30)# 报错没有append方法注意如果元组里嵌套列表列表内部可以改元组本身引用不变t ([1,2], 3)t[0].append(4)没问题3. 可用方法不一样列表独有修改类方法append()、pop()、remove()、insert()、clear()、sort()元组只有只读方法只有两个count()统计元素个数、index()查下标4. 性能与内存元组不可变Python会做缓存占用内存更小、访问更快。大量只读数据优先用元组频繁改动用列表。5. 能否做字典key元组元素全是不可变类型时可以当字典键d{(1,2):test}# 合法列表可变绝对不能做keyd{[1,2]:test}# 报错6. 使用场景区分列表适合数据会频繁变化动态词汇表、临时数组、需要追加删除的数据。元组适合数据固定不变坐标、坐标点、配对数据(token, id)函数多返回值return (x, y)作为字典key、集合内元素enumerate、dict.items() 返回的配对数据都是元组7. 取值、遍历共同点两者一样都支持数字下标t[0]、切片t[1:]、for循环遍历、len()求长度。极简总结[]可变列表能随便改()不可变元组创建后不能改元素。列表有增删改方法元组只有查询方法。元组更快更小可做字典键列表不行。
返回列表