Python基础
列表的切片赋值语法
列表[切片] = 可迭代对象
l = [2, 3, 4] ; l[0:1] = [1.1, 2.2] # [1.1, 2.2, 3, 4]
l = [2, 3, 4] ; l[1:1] = [1.1, 2.2] # [2, 1.1, 2.2, 3, 4]
l = list(range(1, 9)) ; l[1::2] = [2.2, 4.4, 6.6, 8.8] # [1, 2.2, 3, 4.4, 5, 6.6, 7, 8.8]
对于步长不为1的切片赋值,赋值运算符右侧可迭代对象提供的元素个数一定要等于切片切出的段数
列表的切片删除语法
del 列表[索引/切片]
l = lsit(range(1, 7)) ; del l[::2] # [2, 4, 6]
常用的序列函数
len(x) 返回序列长度
max(x) 返回序列最大值元素
min(x) 返回序列最小值元素
sum(x) 返回序列中所有元素的和
any(x) 序列中有一个为真值则返回True,否则False
all(x) 序列中所有为真值则返回True,否则False
reversed(seq) 返回反向顺序的可迭代对象
sort(iterable, reverse=False) 返回已排序的列表
常用的列表方法
L.index(v[, begin[, end]]) 返回对应元素的索引下标,当不存在时出发ValueError
L.insert(index, obj) 将某个元素插入到列表指定位置
L.count(x) 返回列表中该元素的个数
L.remove(x) 列表中删除第一次出现在列表中的值
L.copy() 复制此列表(只复制一层,浅拷贝)
L.append(x) 列表中追加元素
L.extend(lst) 列表中追加列表
L.clear() 列表清空
L.sort(reverse=False) 列表排序,默认从小到大
L.reverse() 列表反排序
L.pop([index]) 删除索引对应的元素(无则最后一个),同时返回删除的元素
字符串文本解析方法 split和join
S.split(sep=None)
s = ‘Beijing is capital’; s.split(’ ')
# [‘Beijing’, ‘is’, ‘capital’]
S.join(iterable)
s = ‘\’; L = [‘C:’, ‘Program files’, ‘python3’]; s.join(L)
# ‘C:\Program files\pthon3’
深拷贝(deep copy)和浅拷贝(shallow copy)
浅拷贝:在复制过程中只复制一层变量,不会复制深层变量绑定的对象
L2 = L1.copy()
深拷贝:在复制过程中,会复制深层变量绑定的对象
import copy
L2 = copy.deepcopy(L1)
列表推导式
通过可迭代对象,依次生成带有多个元素的列表
[表达式 for 变量 in 可迭代对象 if 真值表达式]
[x*x for x in range(1, 10)] # 生成1~9平方的列表
[x*y for x in range(1, 10) for y in range(1, 10)]