python基础一:元组与列表的区别,该如何进行选取

1、不同

列表:

(1)动态,长度大小不固定,可进行增删改操作。

​ 同时需要存储指针来指向对应元素,还需要额外存储已经分配的长度大小

​ python每次分配空间时会额外多分配一些,这样的机制(over-allocating)保证了其操作高效性,增加/删除时间复杂度均为O(1)

(2)列表存储空间略大于元组,性能略逊于元组

元组:

(1)静态,长度大小固定,不可改变
tuple为array结果,不过python对其进行了优化,比如:
在当tuple长度小于20时,python不会把它进行回收,而是把它缓存在内部的free list中。这样,如果以后再去创建同样的tuple直接在python缓存中载入,无需重新申请内存空间,大大提高了运行效率。

(2)元组相对于列表更轻量级,元组性能略优于列表

2、相同

(1)都支持负索引

(2)都支持切片操作

(3)都可以随意嵌套

(4)可通过list() tuple()转换

(5)内置函数:count() index() list.reverse()和list.sort()分别表示原地倒转列表和原地排序(元组无这两个函数);reversed()和sorted()同样表示对元组和列表进行倒转和排序,reversed()返回倒转后的迭代器,sorted()返回排好序的新列表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值