列表的增删改
-
增
-
append – 列表.append[元素] – 将指定元素增加到指定列表末尾(不会产生新的数据,在原列表上增加)
-
insert – 列表.insert[下标,元素] – 将指定元素增加到列表的指定下标位置
-
extend – 列表.extend[序列] – 将指定序列中的元素增加到列表的末尾
示例:给一个分数列表:[90,56,78,89,45,60,32,100],在列表中所有不及格分数后加一个0
scores = [90,56,78,89,45,60,32,100] new_scores = scores[:] index =0 for score in new_scores: if score<60: scores.insert[index+1,0] index +=1 index +=1 #每次增加操作后下标改变,需要每次改变后对下标操作 print(scores)
-
-
删
-
del - del 列表[下标] – 删除列表中对应下标的元素
-
remove - 列表.remove(元素) – 删除列表中指定的元素
-
pop - 列表.pop()或列表.pop(下标) – 取出列表中最后一个元素或指定下标对应的元素(取出的元素依然存在未被删除,只是不在列表中了)
-
clear - 列表.clear() – 删除列表中所有元素
示例:删除scores中所有低于60的分数
scores=[90,56,40,67,92,89,59] new_scores=scores[:] #Python中一个变量直接给另一个变量赋值时赋的是地址 for index,item in enumerate(new_scores): if item<60: remove(item) index-=1 index-=1 print(scores)
-
改
列表[下标] = 新值 – 把列表中对应下标的元素改为指定新值
示例:将列表中低于60的全部置零
scores=[90,56,40,67,92,89,59] for index,score in enumerate(scores): if score<60: scores[index]=0 print(scores)
列表的相关操作
-
列表的加法和乘法操作
-
加法
列表1+列表2 – 将列表2的所有元素放在列表1最后一个元素之后产生一个新的列表
-
乘法
列表*N – 列表重复N次产生一个新的列表
-
-
列表的比较运算
- ==,!= — 列表是有序的,所以即使不同列表都由相同元素组成,但若顺序不同也不相等
- <、>、>=、<= — 比较的时候从坐标为0的元素起逐对比较,若相等则比较下一个元素,不等时元素的比较结果就是列表的比较结果
-
in和not in
- in – 元素 in 列表 – 判断指定元素在列表中,若在则为True,不在则为False
- not in – 元素 not in 列表 – 判断指定元素不在列表中,若不在则为True,在则为False
-
系统函数
-
len
len(序列) - 获取序列中的元素个数
-
max/min
max/min(序列) - 求序列中最大/最小的元素(序列中元素要同类型可比较)
-
sorted
sorted(序列) - 将序列中的元素从小到大排列产生一个新的列表,不改变原序列
sorted(序列,reverse=True) - 将序列中的元素从大到小排列产生一个新的列表,不改变原序列
-
sum
sum(序列) - 求序列中所有元素的和(序列中元素必须全是数字)
-
list
list(序列) - 将序列转换成列表
1)所有序列都可以转换成列表 2)将序列中所有元素变成列表中的元素
-
-
列表相关方法
-
copy
列表.copy() - 复制原列表产生一个一样的新列表(相当于列表[:],都是浅拷贝)
-
count
列表.count(元素) - 统计列表中指定元素的个数
-
index
列表.index(元素) - 获取列表中指定元素的下标(有多个相同元素则返回第一个该元素的下标,没有则报错)
-
reverse
列表.reserve() - 将指定列表逆序
-
sort
列表.sort() - 将列表从小到大排序,但不会产生新的列表
-
元组
元组就是不可变的列表,可以执行列表除了增删改的操作