目录
向列表中增加数据
1.ls.append(x)
方法可以向列表ls末尾增加一个数据 x,原地操作,无返回值 此方法最方便
2. ls.extend([x])
方法可以向列表ls末尾增加一个列表 [x],当列表只有一个元素时,结果与append()相同,原地操作,无返回值
3.ls + [x]
方法可以向列表ls末尾增加一个数据 x,返回一个新的列表对象
删除列表元素
1.ls.remove(x)
函数可以删除列表ls中的元素x,x有多个时,只删除第一个
2.ls.pop(i)
函数可以删除列表ls中序号为i的元素x
列表元素排序
1.ls.sort(reverse=False)
方法对列表ls中元素进行排序,无参数时,默认升序排序,reverse=True时降序排序,无返回值,无新对象产生
2.sorted(ls,reverse=False)
函数对参数中的列表ls中元素进行排序,无参数时,默认升序排序,reverse=True时降序排序,返回值为排序后的列表,新对象
查找并删除空字符串元素
x in ls:
成员测试可以检测元素x是否在列表ls中存在。 ls.remove(x)
方法可以移除列表中第一个与x相同的元素,若x在列表中不存在,则返回一个异常。
用while循环删除全部同值元素::
score_ls = ['9.8', '', '', '', '9.4', '5.8', '7.9', '10', '8.2', '8.6']
while '' in score_ls: # 循环测试空字符串在列表中是否存在,直至列表中不存在字符串时退出循环
score_ls.remove('') # 移除第一个同值元素
print(score_ls) # ['9.8', '9.4', '5.8', '7.9', '10', '8.2', '8.6']
改变列表元素类型
map()函数
list(map(str, ls))
函数可以将列表ls中的每个元素的类型都转为元素是字符串类型的列表。 list(map(float, ls))
函数可以将列表ls中的每个非空字符串元素的类型都转为元素是浮点类型的列表,列表中有空字符串时不可用此方法
文件中数据转二维列表
score = line.strip().split(',')
去掉行末的换行符,根据逗号切分为列表,命名为score。 line.strip().split(',')
去掉行末的换行符,根据逗号切分为列表。 结合遍历文件对象的方法,就可以将文件中的数据转为二维列表。
删除二维列表的空字符
for lst in score_ls: # 遍历二维列表,lst为子列表
lst = [float(x) for x in lst if x]
print(lst)
多关键字排序
二维列表多关键字排序一般用参数key=lamdba x: (x[n],x[m],...)
指定,依次优先根据元组(x[n],x[m],...)
中的项进行排序,主关键字x[n]值相同时,再根据次关键字 x[m]值排序,依此类推。 当要求两个排序关键字一个升序一个降序时,可以将其中一个关键字设为负值。