python入门列表元祖

可变字符串,其实是定义了一个新类
import io
s = 'hello 文章'
s = io.StringIO(s)

#接口,看下源码
s.getvalue()
s.seek()
s.write()

 

例如
import io
s = '好好学算法'
s = io.StringIO(s)
s.seek(2)
s.write('思考')
print(s.getvalue())
#好好思考法

 


位运算符
| & ~ ^ >> <<

 

序列的存储方式,一张图


列表
list(iterable)
list()空列表

range(start,end,step)#和索引一样,前包后不包


列表推导式,格式
[a for a in range(100) if a >1]


列表增删
尽量只在尾部增删元素,否则涉及列表元素大量移动
+操作会创建新的列表对象,涉及大量复制操作,不建议
li.extend()将目标列表所有元素加到本列表尾部,属于原地操作,看看源码
li.insert(num,ele)在索引num之前插入ele,底层元素向后复制,地址不变


del li[num]
底层是后面的元素向前拷贝,不改变列表对象地址
li.pop(),删除尾部并且弹回;可指定删除的下标,地址不变
li.remove(ele)删除首次出现的指定元素,若无,则抛出异常,地址不变

lli.index()看看源码
li.count()计数
li.sorrt()排序,不改变地址
sorted(li)排序返回新列表
reversed(li)返回一个迭代器,只能用一次

 

元祖
(1,)
tuple()空
tuple(iterable)

sorted(iterable) 返回一个列表
zip()看看源码


生成器推导式
生成器推导式与列表推导式形式类似,只是生成器推导式使用小括号,生成器推导式返回一个生成器
对象。可以通过生成器对象转化成列表或者元祖,也可以使用生成器对象的__next()__方法,或者直接作为迭代器对象使用。不管什么方式,元素访问结束后,如果需要重新访问其中的元素,必须重新创建该生成器对象。

元祖
元祖的访问和处理速度一列表快
元祖和整数、字符串一样,可以作为字典的键,列表不可以

 

 

2020.3.19

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值