- 可变字符串
在Python中,字符串属于不可变得对象,不支持原地修改,如果需要修改其中的值,智能创建新的字符串对象。但是,经常我们确实需要原地修改字符串,可以使用io.StringIO对象或array模块
字符串修改频繁的时候可以使用
sio = oi.StringIO("字符串") #这是新生的一个独享
sio.getValue()
sio.seek() #指针移动到某个字符
sio.write() #修改该位置的字符
- 位操作
a =3
a<<2 #左移1位相当于乘以2 左移2位,相当于乘以4 相当于0B11变成了0b1100
a=8
a>>1 #右移1位相当于除以2. 相当于0b1000变成了0b100
- 列表、元组合并复制
[10,20,30]+[5,10,10] #合并成[1,20,30,5,10,100]
[10,20,30] *3 #复制三次,变为[10,20,30,10,20,30,10,20,30]
- 赋值运算符总结
- 运算符优先级
从高到低如上
记住以下规则:1.乘除优先加减 2.位运算符和算数运算>比较运算符>赋值运算符 - 序列
序列是一种数据存储方式,用来存储一系列的数据。在内存中,序列就是一块用来存放多个值的连续的内存空间。
序列中存储的是对象的地址,而不是对象的值。
Python中常用的序列结构有:字符串、列表、元组、字典、集合
列表:用于存储任何数目、任意类型的数据集合
列表对象的常用方法汇总如下:在这里插入图片描述
请添加图片描述
列表的大小可变,根据需要随时增加或缩小
创建方法:
1、基本语法[]创建
2、list()创建
3、range()创建整数列表
range([start,] end [,step])
start:可选,表示起始数,默认0
end:必须按,表示结尾数字
step:可选,表示步长,默认为1
python3中range()返回的是一个range对象,而不是列表。我们需要通过list()方法将其转换成列表对象。
4、推导式生成列表
- 切片操作
典型操作: - 其他操作:
- 列表排序
a.sort() #默认是升序排列
a.sort(reverse=True) #降序排列
random.shuffle() #打乱顺序
sorted()进行排序,返回新列表,不对原列表做修改
reversed() 与sorted同理 但是reversed()是迭代器 只能使用一次 - 元组
列表属于可变序列,元组属于不可变序列,不能修改元组中的元素
通过()创建元组
或者 a=(10,20,30) 等价于 a=10,20,30
b=(20)的type是int 创建元组应该是b=(20,)
同理 b=20是int b=20,是元组
也可以用tuple()创建元组,也可以将其他类型的转成元组
同理 list()也可以
内置sorted()对元组进行排序生成新的列表对象
元组的访问和处理速度比列表快
与整数和字符串一样,元组可以作为字典的键,列表则永远不能作为字典的键使用 - zip
zip()将多个列表对应位置的元素组合成为元组,并返回这个zip对象