python列表与元组

列表是动态的,长度可变,可以随意增删改元素,列表的存储空间略大于元组,性能略逊于元组

l = [1, 2, 3, 4]
print(l[3])
l[3] = 30 #修改列表元素值
l.append(5) #添加新元素
print(l[-1]) #支持-1倒数第n位的写法
print(l[1:4]) #切片,返回列表中索引从1到3的元素
l = [[1, 2, 3], [4, 5, 6]] #支持嵌套
list((1, 2, 3)) #支持将元组转换为列表
'''常用内置方法'''
l = [6, 2, 6, 7, 6, 6, 3]
l.count(6) #统计6出现的次数
l.index(3) #从列表中找第3索引位置返回值
#list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
l.reverse() #颠倒列表元素
l.sort() #排序
l.__sizeof__() #64字节 #元组48字节,上述例子,int型占8字节,由于列表可变,需额外存储已经分配的长度大小(8字节),当空间不足时及时分配额外空间

l = []
l.__sizeof__() #40
l.append(1)W
l.__sizeof__() #72 加入元素1,列表为其分配了可以存储4个元素的空间(72-40)/8 =4个
l.append(2)
l.__sizeof__() #72 由于之前分配了空间,所以加入元素2,列表空间不变
l.append(3)
l.__sizeof__() #72
l.append(4)
l.__sizeof__() #72
l.append(5)
l.__sizeof__() #104 加入元素5,列表空间不足,所以又额外分配了4个元素空间

#创建列表的两种方式,第一种相当执行一个function call,需要进行一系列操作,反观[]是一个内置的C函数,可以直接被调用,效率更高
empty_list = list()
empty_list = []

元组是静态的,长度大小固定,不可对元组进行增删改操作,仅可从新赋值,相对列表更加轻量级,性能略高。

t = (1, 2, 3, 4)
#t[3] = 30 报错,元组是静态的,不能修改,只能从新赋值
t = t + (5) #创建新元组
print(t[-1]) #支持-1倒数第n位的写法
print(t[1:4]) #切片,返回列表中索引从1到3的元素
tup = ((1, 2, 3), (4, 5, 6))#支持嵌套
tuple([1, 2, 3]) #支持将列表转换为元组
'''常用内置方法'''
t = [6, 2, 6, 7, 6, 6, 3]
t.count(6) #统计6出现的次数
t.index(3) #找第3索引位置返回值
list(reversed(t)) #颠倒并转换为列表 reversed返回一个倒转后的迭代器
sorted(t) #以列表形式排序输出元组
t.__sizeof__() #48字节
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值