一、可变字符串
减少对象
二、基本运算符
<<,>>移位
~按位翻转
/,//,% 浮点除、整数除、取余
**幂运算
可以连用,4<a<10
3、加法操作
(1)数字相加 3+2 ==>5
(2)字符串拼接 "3" + "2" ==> "32"
(3) 列表、元祖等合并 [10,20,30]+[5,10,100] ==> [10,20,30,5,10,100]
4、乘法操作
(1)数字相乘 3*2 ==>6
(2)字符串复制 "sxt"*3 ==> "sxtsxtsxt"
(3)列表、元组等复制[10,20,30]*3 ==>[10,20,30,10,20,30,10,20,30]
5、运算符优先级
位运算和算术运算>比较运算符>赋值运算符>逻辑运算符
二、列表
list.append(x) list尾部添加元素
list。extend(alist) 将另外一个list添加到列表list尾部
list.insert(index,x) 在列表list指定位置index处插入元素X
list.remove(x) 在列表list中删除首次出现的指定元素x
list.pop([index]) 删除并返回列表list指定为止index处的元素,默认是最后一个元素
list.clear() 删除List所有元素
list.index(x) 返回第一个x的索引位置,若不存在则抛出异常
list.count(x) 返回x在列表中出现的次数
len(list) 返回列表中包含元素的个数
list.resverse 列表所有元素原地翻转
list.sort 所有元素原地排序
list.copy 返回列表对象浅拷贝
三、列表创建
1、基本语法生成
a=[1,23,4,5]
2、list()创建
a= list()
a= list(range(10))
a=list('gaoqi')
3、range()创建整数列表
range([start],end[,step])
start参数:可选,表示起始数字,默认是0
end参数:必选,表示结尾数字。
step参数:可选,表示步长,默认为1.
list(range(3,15,2))
list(range(15,3,-1))
4、列表推导式创建
a = [x*2 for x in range(5)] 循环创建多个元素
0,1,2,3,4 * 2 0,1,2,6,8
a = [x*2 for x in range(100) if x%9 ==0]
5、列表元素的添加
1、append()
2、 +运算符操作
3、两个列表整合用extend()
4、insert()插入新元素,一般情况不用
六、列表元素的删除
del 删除
pop()
a=[10,20,30]
b=a.pop()
remove() 删除首次出现的指定元素,
a=[10,20,30]
a.remove(20)
七、访问列表
index()获得指定元素在列表中首次出现的索引
a=[10,20,30,40]
b=a.index(20)
八、切片操作
起始偏移量和终止偏移量
九、列表的排序
a.sort(reverse=True) 降序排列
random.shuffle(a) 打乱顺序
十、新建列表的顺序
内置函数sorted()进行排序
a =sorted(a)
reversed()返回迭代器
十一、元组的创建
1、通过()创建元组,
a= (10,20,30)
2、通过tuple()创建元组
b= tuple("abc")
b=tuple(range(3))
b= tuple([2,3,4])
3、ZIP
ZIP(列表1,列表2,...)将多个列表对应位置的元素组合成为元组,并返回这个ZIP对象。
d = zip(a,b,c)
3、生成器推导式创建元组
从形式上看,生成器推导式于列表推导式类似,只是生成器推导式使用小括号。列表推导式直接生成列表对象,生成器推导式生成的不是列表也不是元组,而是一个生成器对象。
我们可以通过生成器对象,转化成列表或者元组。也可以使用生成器对象的__next__()方法进行遍历,或者直接作为迭代器对象来使用。不管什么方式使用,元素访问结束后,如果需要重新访问其中的元素,必须重新创建该生成器对象。
s = (x*2 for x in range(5))
1、元组的核心特点是:不可变序列。
2、元组的访问和处理速度比列表快。
3、与整数和字符串一样,元组可以作为字典的键,列表则永远不能作为字典的键使用。