可变字符串io.StringIO对象或array模块
左移1位乘以2 左移两位乘以4 右移相同,改为除
运算优先级
第三章序列:一块用来村粗多个值的连续内存空间,常用序列:字符串、列表、元组、字典、集合
列表:用于存储任意数目、类型的数据集合,列表中元素可以是任意类型
字符串和列表都是序列类型,一个字符串是一个字符序列,一个列表是任何元素的序列
列表创建
1.基本语法[]
2.list()创建
3.range([start,]end[,step])
4.推导式创建
列表元素添加 :尽量在尾部操作,元素的增减,提高操作效率
1.append 尾部直接添加
2.+运算符 产生新对象,设计大量复制操作
3.extend ()类似1 不涉及新的创建
4.insert()插入 后面所有元素进行移动影响速度
5.乘法扩展
元素删除
1.del删除
2.pop()默认弹出最后一元素,可以指定
3.remove()删除首次出现的元素
列表元素的访问
1.索引直接访问
2.index()获取元素首次出现的索引index(vaule,[start,[end]])
3.count()指定元素出现次数
4.len()元素数量
5.成员资格判断 一般用 in 或者 count()
列表切片操作slice:与字符串切片无异
列表排序:
不建新列表 a.sort() 默认升序 a.sort(reverse=True)
eandom.shuffle(a) 打乱顺序
建新列表 sorted() 默认升序
reversed()返回迭代器 逆序排列
max min 返回列表最大最小值 sum 所有元素求和(数值型列表)
多维列表
二维列表 列表的元素替换成列表,维数提升
元组不可变序列,元组支持索引、切片、连接、成员关系、比较运算、技术等操作
元组创建:
1.()创建 a= (10,20,15) 或a = 10,20,30
2.tuple(可迭代对象)
总结:tuple()与list()类似,只不过前者是生成元组,后者生成列表。
除了元组元素不能修改,元组元素访问和计数,和列表相同
排序用sorted(),生成 的是列表
zip,将多个列表位置替换为元组,并返回这个zip对象
生成器推导式创建元祖,与列表推导式相似只不过用的是小括号。生成器推导式生成的不是列表和元组,而是一个生成器对象,通过这个生成器对象转化成列表或者元组。也可使用生成器对象的__next__()方法进行遍历,或者直接做迭代器对象来使用。
元组访问处理速度快,可做字典的键,而列表不能