【Python学习笔记02】列表相关函数及操作——重点

1. 列表定义与基本操作

  • 通过下标获取指定的元素
varlist1 = [1,2,3,4] varlist2 = ['a','b','c','d'] # 列表的拼接——把多个列表的元素拼接成一个列表 res = varlist1 + varlist2 + [11,22,33] print(res) # [1, 2, 3, 4, 'a', 'b', 'c', 'd', 11, 22, 33] # 列表元素的重复 res = varlist1 * 3 print(res) # [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4] # 检测元素是否存在于列表 res = 2 in varlist1 print(res) # True res = 'a' in varlist2 print(res) # True # 列表的索引操作 ''' 0 1 2 3 'a','b','c','d' -4 -3 -2 -1 ''' # 通过下标获取指定的元素 res = varlist1[2] print(res) # 3 # 通过下标修改元素, 但不能通过下标添加元素 varlist2[2] = 'e' print(varlist2) # ['a', 'b', 'e', 'd'] # 向列表元素中追加元素 varlist2.append('ff') print(varlist2) # 获取列表的长度 res = len(varlist2) print(varlist2,res) # ['a', 'b', 'e', 'd', 'ff'] 5 # 列表元素的删除, pop默认删除最后一个元素 del varlist2[2] print(varlist2) # ['a', 'b', 'd', 'ff'] res = varlist2.pop() print(res,varlist2) # ff ['a', 'b', 'd']

2. 列表切片操作

语法=> 列表[::] 完整格式: 列表[开始索引:结束索引:步进值]

  1. 列表[开始索引:] ==> 从开始索引到列表的最后
  2. 列表[:结束值] ==> 从开始到指定的结束索引之前
  3. 列表[开始索引:结束索引] ==> 从开始索引到指定索引之前
  4. 列表[开始索引:结束索引:步长] ==> 从指定索引开始到指定索引前结束,按照指定步进进行取值切片
  5. 列表[:] 或 列表[::] ==> 所有列表元素的切片
  6. 列表[::-1] ==> 倒着获取列表
res = varlist[2:] # 左边闭区间 print(res) # ['黎明', '宋小宝', '郭富城', '张国荣', '小沈阳', '刘能', '赵四'] res = varlist[:2] # 右边开区间 print(res) # ['张学友', '刘德华'] res = varlist[2:6] # 左闭右开 print(res) # ['黎明', '宋小宝', '郭富城', '张国荣'] res = varlist[2:6:2] # 步长至少为2 print(res) # ['黎明', '郭富城']
倒序输出
res = varlist[::-1] print(res) # ['赵四', '刘能', '小沈阳', '张国荣', '郭富城', '宋小宝', '黎明', '刘德华', '张学友'] res = varlist[::-2] # 步长为2,倒叙获取 print(res) # ['赵四', '小沈阳', '郭富城', '黎明', '张学友']
获取所有内容
# res = varlist[:] # res = varlist[::] # res = varlist
使用切片方法对列表数据进行更新和删除操作

使用切片方法对列表数据进行更新和删除操作 ['张学友', '刘德华', '黎明', '宋小宝', '郭富城', '张国荣', '小沈阳', '刘能', '赵四'] 如果是容器类型数据,会拆分成每个元素进行复制

3. 列表相关函数——重点

  • len() 检测当前列表长度,列表中元素的个数
res = len(varlist) print(res) # 9
count() 检测当前列表中元素出现的次数
res = varlist.count('张学友') print(res) # 1
append() 向列表varlist的尾部追加新的元素,返回值为None
res = varlist.append('萨哈') # None print(res,varlist) # None ['张学友', '刘德华', '黎明', '宋小宝', '郭富城', '张国荣', '小沈阳', '刘能', '赵四', '萨哈']
insert() 可以向列表中指定的索引位置添加新的元素
varlist.insert(0,'aa') print(varlist) # ['aa', '张学友', '刘德华', '黎明', '宋小宝', '郭富城', '张国荣', '小沈阳', '刘能', '赵四', '萨哈'] varlist.insert(-1,'aa') print(varlist) # [... '赵四', 'aa', '萨哈']
pop() 可以对指定索引位置上的元素做 出栈 操作,返回出栈元素
varlist = ['张学友','刘德华','黎明','宋小宝','郭富城','张国荣','小沈阳','刘能','赵四'] res = varlist.pop() # 默认会把列表中的最后一个元素 出栈 print(res,varlist) # 赵四 ['张学友', '刘德华', '黎明', '宋小宝', '郭富城', '张国荣', '小沈阳', '刘能'] res = varlist.pop(5) # 会在列表中把指定索引的元素进行 出栈 print(varlist) # ['张学友', '刘德华', '黎明', '宋小宝', '郭富城', '小沈阳', '刘能']
remove() 可以指定列表中的元素 进行 删除,只删除第一个。如果没有找到,则报错
删除出栈
无返回值 从列表中拿出来,返回出来
varlist = [1,62,3,1,5,62,7,47,9,40] res = varlist.remove(1) print(res,varlist) # None [62, 3, 1, 5, 62, 7, 47, 9, 40]
index() 可以查找指定元素在列表中第一次出现的位置
varlist = [1,2,3,4,11,22,33,44,1,2,3,4] res = varlist.index(1,5,20) # 可以在指定索引范围内查找元素的索引位置 # 在[5,20)范围内查找第一次出现'1'的位置 print(res,varlist) # 8 [1, 2, 3, 4, 11, 22, 33, 44, 1, 2, 3, 4]
extend() 接受一个容器类型的数据,把容器中的元素追加到原列表中
res = varlist.extend(['a','b','c','d']) print(res,varlist) # None [...,1, 2, 3, 4, 'a', 'b', 'c', 'd'] res = varlist.extend('fg12') print(varlist) # [..., 3, 4, 'f', 'g', '1', '2']
clear() 清空列表内容
res = varlist.clear() print(res,varlist) # None []
reserve() 列表翻转
varlist = [1,2,3,4,11,22,33,44] res = varlist.reverse() print(res,varlist) # None [44, 33, 22, 11, 4, 3, 2, 1]
sort() 对列表进行排序
varlist = [1,2,11,3,4,22,33,44] res = varlist.sort() # 默认对元素进行从小到大的排序 print(varlist) # [1, 2, 3, 4, 11, 22, 33, 44] res = varlist.sort(reverse=True) # 从大到小排序 print(varlist) # [44, 33, 22, 11, 4, 3, 2, 1] res = varlist.sort(key=abs) # 可以传递一个函数,按照函数的处理结果进行排序 print(varlist) # [1, 2, 3, 4, 11, 22, 33, 44]
copy() 复制当前列表
varlist = ['a','b','c'] res = varlist.copy()
  • 对copy后的列表进行操作
del res[2] print(res)
  • 定义 多维列表
varlist = ['a','b','c',[11,22,33]] res = varlist.copy() # 对copy的列表进行操作 # del res[1] # 对一维列表进行操作,没有问题 del res[3][1] # ['a', 'b', 'c', [11, 33]] 对多维列表中的元素进行操作,则出现了全部改变的情况 print(res) # ['a', 'c', [11, 22, 33]] print(varlist) # ['a', 'b', 'c', [11, 22, 33]]
 
posted @ 2020-06-01 16:01  shai沙海  阅读(204)  评论(0编辑  收藏  举报