小白的python进阶历程------06.列表(list)
列表(list)
有序、可变、可重复、可存放任何类型的数据
1).list的格式
lt = [21,"python","it","china"] lt = [name,job] = ["Jack","IT"] lt = [] lt = ["python"] print(lt,type(lt))
2).list的相关操作及函数
在对之前字符串相关操作和函数的整理中,可以发现,几乎所有的操作和函数无外乎进行“增,删,改,查”这4种操作;其实不仅仅是字符串,在之后所以数据类型的中,其相关操作和函数也是用来实现这4种操作方式,只是根据各数据类型的特点,所能进行的操作有所不同。由于列表的特点是有序、可变、可重复、可存放任何类型的数据,所以列表可以完成4种操作中的每一种操作。下面根据这4种操作来进行列表相关操作和函数的整理归纳。
(1).增:
对列表中的元素进行增加操作。
函数:append和insert
lt1 = ["beijing","shanghai","hangzhou","shenzhen","nanjing"] lt1.append("suzhou") #添加到列表最后 lt1.insert(2,"tianjin") #添加到列表中的某个位置 print(lt1)
(2).删:
对列表中的元素进行删除操作。
函数:remove,pop,clear
lt1 = ["beijing","shanghai","hangzhou","shenzhen","nanjing"] lt1.remove("nanjing") #删除指定元素名的元素 lt1.pop() #默认删除最后一个元素,()加索引号效果等同于del lt1.clear() #清空列表元素,但保留列表 print(lt1)
(3).改:
对列表中的元素进行更改。
根据索引位置更换元素
lt1 = ["beijing","shanghai","hangzhou","shenzhen","nanjing"] lt1[4] = "tianjin" #直接更改该索引位置的元素
print(lt1)
函数:reverse,sort
lt1 = ["beijing","shanghai","hangzhou","shenzhen","nanjing"] lt1.reverse() #反转列表中的元素的索引,以倒叙排列 lt1.sort() #以ASCII表的顺序对元素进行重新排列 print(lt1)
(4).查:
对列表中的元素进行查找。
切片查找元素(类似元素切片,特点:含头不含位,起始位置索引为0,反向起始索引位置为-1)
lt1 = ["beijing","shanghai","hangzhou","shenzhen","nanjing"] print(lt1[0:2:1]) #[a:b:c] 分别代表起始索引,终止索引和步长
函数:index,count
lt1 = ["beijing","shanghai","hangzhou","shenzhen","nanjing"] print(lt1.index("hangzhou")) #通过元素名找到该元素所在位置索引 print(lt1.count("hangzhou")) #查找该名称元素的在列表中个数(有多个相同元素的时候)
(5).对列表整体的操作
extend:合并列表
lt1 = ["beijing","shanghai","hangzhou","shenzhen","nanjing"] lt2 = ["China","America","Japan"] lt1.extend(lt2) #相当于lt1+lt2 #合并两个列表 print(lt1)
copy:拷贝列表
#浅copy lt1 = ["beijing","shanghai",["beijing","天津"],"hangzhou","shenzhen","nanjing"] lt2 = lt1.copy() #复制当前列表(浅copy)只能复制一层 print(lt1) print(lt2) lt1[1] = "上海" #当第一层的元素改变时,copy内容不变 print(lt1) print(lt2) lt1[2][0] = "北京" #当列表中第二层列表元素发生改变,copy内容也随之改变 print(lt1) print(lt2) #深copy import copy lt3 = ["beijing","shanghai",["beijing","天津"],"hangzhou","shenzhen","nanjing"] lt4 = copy.deepcopy(lt3) #第二层的元素改变时,copy也保持不变 print(lt3) print(lt4) lt3[2][0] = "北京" print(lt3) print(lt4)
3).遍历列表
将列表中的元素以字符串的形式依次打印出来
lt = ["beijing","shanghai",["beijing","天津"],"hangzhou","shenzhen","nanjing"] for i in lt: print(i)