python数据存储之列表:一些注意的地方
1.常用列表的列表推导式
a = [i for i in range(n)] # 会生成关于i的一个列表,其中可以对i进行判断筛选,或者进行其他操作
在列表数据清洗可以使用列表推导式,例如简单的一个列表元素数据的清洗操作
a = [1,2,3,4] # 对列表a中的数据进行操作
a = [ i**2 for i in a] # a = [1,4,9,16]
2.列表的切割操作注意的一些方法
首先,列表是具有反向索引 从-1开始,
a = [1,2,3] a[-2] = 2 a[-1] = 3
在进行切割操作时,若只是获取列表部分中间的元素,可以使用反向索引,例如:
a = [1,2,3,4,....'a','b','c'] # 需求:截取首尾元素(这些数据不需要入库)
a[1:-1] # 直接去除首尾元素
3.列表的反向切割:
会从开始索引往左进行切割.
a = [1,2,3,4] # 进行反向切割
a[0::-1] # [1] (从0索引往左切割,只有一个索引0元素为1)
a[2::-1] # [3,2,1] (从索引2(值为3)往左切,以此满足条件的下标对应的元素值为 3,2,1)
a[-1::-1] # [4,3,2,1] 反转列表,相当于reverse()方法[注意:reverse()返回值是反转后的a,而a[-1::-1]返回值是一个新列表,可以使用一个变量进行接收]
4.列表的合并
两个列表可以直接相加,进行合并
相加时哪个列表在前,那个列表的所有元素就在前
若是两个列表有重复元素,相加后需要保留一个即可:可以使用set()转为集合,然后在list()转为列表
set(),list()函数参数传入需要进行转化的数据,使用变量接收返回值
也可以使用双重遍历列表进行数据去重
5.列表的遍历,enumerate方法的使用
enumerate()方法,在遍历时使用,传入列表,遍历的结果是每个元组(索引,对应值)
for i in enumerate(list(range(1,5))):
print(i) # (0,1),(1,2)....
可以使用两个变量解包元组
for m,n in enumerate(list(range(1,5))):
5.列表的一些其他的方法
index()传入一个元素值,可以获得在列表中的索引值
pop()传入一个索引,删除列表中的元素,返回值是被删除的元素[可以对列表中的数据进行不可逆的取出操作]
remove()传入一个元素值,直接删除元素,返回值为None