通过下标获取指定的元素
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']
语法=> 列表[::] 完整格式: 列表[开始索引:结束索引:步进值]
列表[开始索引:] ==> 从开始索引到列表的最后
列表[:结束值] ==> 从开始到指定的结束索引之前
列表[开始索引:结束索引] ==> 从开始索引到指定索引之前
列表[开始索引:结束索引:步长] ==> 从指定索引开始到指定索引前结束,按照指定步进进行取值切片
列表[:] 或 列表[::] ==> 所有列表元素的切片
列表[::-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
使用切片方法对列表数据进行更新和删除操作
使用切片方法对列表数据进行更新和删除操作 ['张学友', '刘德华', '黎明', '宋小宝', '郭富城', '张国荣', '小沈阳', '刘能', '赵四'] 如果是容器类型数据,会拆分成每个元素进行复制
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]]
本文章使用limfx的vsocde插件快速发布