0、基本运算符
运算符优先级:位运算和算术运算>比较运算符>赋值运算符>逻辑运算符
1、字符串
字符串拼接
’aa’+ ’bb’
字符串复制
a = 'abc'*3
str()实现数字转型字符串
str(5.20)
replace()实现字符串替换
a='abc'
a=a.replace('a','A')#把小写a替换为大写A,且生成一个新的对象
字符串切片 slice 操作
标准格式为: [起始偏移量 start:终止偏移量 end:步长 step]
split()分割和 join()合并
a = "to be or not to be"
a.split()
['to', 'be', 'or', 'not', 'to', 'be']
根据空格进行分割
a = ['abc','abc100','abc200']
'*'.join(a)
'abc*abc100*abc200'
将*号当做连接符,
使用字符串拼接符+,会生成新的字符串对象,因此不推荐使用+来拼接字符串。推荐
使用 join 函数,因为 join 函数在拼接字符串之前会计算所有字符串的长度,然后逐一拷贝,
仅新建一次对象。
字符串的格式化
可变字符串
2、列表
python 中常用的序列结构有: 字符串、列表、元组、字典、集合
列表创建
基本语法[]创建
list()创建
>>> a = list(range(10))
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range()创建整数列表
推导式生成列表
>>> a = [x*2 for x in range(5)] #循环创建多个元素
>>> a
[0, 2, 4, 6, 8]
>>> a = [x*2 for x in range(100) if x%9==0] #通过 if 过滤元素
>>> a
[0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198]
列表元素的增加和删除
append()方法
>>> a = [20,40]
>>> a.append(80)
>>> a
[20, 40, 80]
+运算符操作
并不是真正的尾部添加元素,而是创建新的列表对象;将原列表的元素和新列表的元素依次
复制到新的列表对象中。这样,会涉及大量的复制操作,对于操作大量元素不建议使用。
extend()方法
相对与append()方法,这个是针对增加一个列表。
insert()插入元素
使用 insert()方法可以将指定的元素插入到列表对象的任意制定位置。这样会让插入位置后
面所有的元素进行移动,会影响处理速度。涉及大量元素时,尽量避免使用。类似发生这种
移动的函数还有:
remove()、pop()、del(),它们在删除非尾部元素时也会发生操作位置后
面元素的移动。
>>> a = [10,20,30]
>>> a.insert(2,100)
>>> a
[10, 20, 100, 30]
切片操作
之前学习过字符串的切片操作,对于列表的切片操作和字符串类似
列表排序
>>> a = [20,10,30,40]
>>> id(a)
46017416
>>> a.sort() #默认是升序排列
>>> a [10, 20, 30, 40]
>>> a = [10,20,30,40]
>>> a.sort(reverse=True) #降序排列
>>> a [40, 30, 20, 10]
>>> import random
>>> random.shuffle(a) #打乱顺序
>>> a
[20, 40, 30, 10]
我们也可以通过内置函数 sorted()进行排序,这个方法返回新列表,不对原列表做修改。
多维列表
a = [ ["张三",18,30000,"北京"], ["李四",19,20000,"上海"], ["王五",20,10000,"深圳"], ]
for m in range(3):
for n in range(4):
print(a[m][n],end="\t")
print() #打印完一行,换行
3、元组 tuple
列表属于可变序列,可以任意修改列表中的元素。元组属于不可变序列,不能修改元组中的 元素。因此,元组没有增加元素、修改元素、删除元素相关的方法。 因此,我们只需要学习元组的创建和删除,元组中元素的访问和计数即可。元组支持如 下操作:
1. 索引访问
2. 切片操作
3. 连接操作
4. 成员关系操作
5. 比较运算操作
6. 计数:元组长度 len()、最大值 max()、最小值 min()、求和 sum()等。