列表 list操作
(1)列表的拼接 (同元组)
lst1 = ["宋江","卢俊义","吴用","公孙胜"]
lst2 = ["关胜","林冲","鲁智深","武松","史进"]
res = lst1 + lst2
print(res)
(2)列表的重复 (同元组)
lst1 = [1,2,3]
res = lst1 * 3
print(res)
(3)列表的切片 (同元组)
"""
语法 => 列表[::] 完整格式:[开始索引:结束索引:间隔值]
(1)[开始索引:] 从开始索引截取到列表的最后
(2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)
(3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
(4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取列表元素值
(5)[:]或[::] 截取所有列表
"""
lst = ['宋江', '卢俊义', '吴用', '公孙胜', '关胜', '林冲', '鲁智深', '武松', '史进']
# (1)[开始索引:] 从开始索引截取到列表的最后
res = lst[2:]
print(res)
# (2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)
res = lst[:5]
print(res)
# (3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
res = lst[5:7]
res = lst[-3:-1]
print(res)
# (4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取列表元素值
res = lst[::2]
# 0 2 4 6
print(res)
res = lst[::-1]
# -1 -2 -3 -4 -5 -6 -7
print(res)
# (5)[:]或[::] 截取所有列表
res = lst[:]
res = lst[::]
print(res)
(4)列表的获取 (同元组)
lst = ['宋江', '卢俊义', '吴用', '公孙胜', '关胜', '林冲', '鲁智深', '武松', '史进']
res = lst[2]
print(res)
res = lst[-1]
print(res)
(5)列表的修改 ( 可切片 )
lst = ["猪八戒","唐僧","孙悟空","沙僧"]
正常修改
lst[0] = "白龙马"
print(lst)
(1)切片修改 : 会将容器里面的数据,一个一个放到元列表当中 [不带有间隔值的切片修改,赋值的新值个数随意,无论是哪种修改,都必须赋予可迭代的数据]
"""
可迭代对象(Iterable): (容器类型数据,range对象,迭代器)
如果通过切片修改,右侧赋予的值必须是可迭代对象
"""
(2)切片修改(存在间隔值) [带有间隔值得修改修改,如果切出4个元素,只能赋予4个元素]
# (2)切片修改(存在间隔值) [带有间隔值得修改修改,如果切出4个元素,只能赋予4个元素]
lst = ["猪八戒","唐僧","孙悟空","沙僧","白骨精","牛魔王","金角大王","银角大王"]
print(lst[::2]) # 0 2 4 6 8 10 12 # 猪八戒 孙悟空 白骨精 金角大王
(6)列表的删除 ( 可切片 ) del 代表删除变量
lst = ["猪八戒","唐僧","孙悟空","沙僧","白骨精","牛魔王","金角大王","银角大王"]
del lst[0]
print(lst)
del lst[4:6]
print(lst)
del lst[::2]
print(lst)
# 注意点 del res 删除这个res变量,res这个变量是独立出来的,跟以前的列表没关系;
res = lst[0]
del res
print(lst)
# 语法: del 列表中的具体的值
# 把11 改成13
tup = (1,2,3,4,5,[7,8,9,[10,11,12]])
tup[-1][-1][-2] = 13
print(tup)
列表相关的函数 列表.函数()
- 增
1.append 向列表的末尾添加新的元素()
lst = ["燕青","戴宗","刘唐","李逵"]
lst.append("杨志")
print(lst)
2.insert 在指定索引之前插入元素
lst = ["燕青","戴宗","刘唐","李逵"]
lst.insert(2,"杨志")
print(lst)
3.extend 迭代追加所有元素
lst = ["燕青","戴宗","刘唐","李逵"]
lst.insert(2,"杨志")
lst.extend("abc")
lst.extend([1,2,3])
print(lst)
- 删
lst = ["燕青","戴宗","刘唐","李逵"]
1.pop 通过指定索引删除元素,若没有索引移除最后那个 (推荐)
# (1) 指定索引值
res = lst.pop(2)
print(lst,res)
# (2) 不指定下标,默认删除最后一个
res = lst.pop()
print(res)
print(lst)
2.remove 通过给予的值来删除,如果多个相同元素,默认删除第一个
res = lst.remove("刘唐")
print(lst,res)
# print(res) None
3.clear 清空列表
lst = ["燕青","戴宗","刘唐","李逵"]
lst.clear()
print(lst)
其他操作
1.index 获取某个值在列表中的索引列表.index(值[,start][,end])
lst = ['宋江', '卢俊义', '吴用', '公孙胜', '关胜', '林冲', '鲁智深', '武松', '史进']
res = lst.index("吴用")
print(res)
#res = lst.index("吴用",3) 如果这个值不存在,直接报错
#print(res)
#res = lst.index("吴用",3,5) # 3 4 如果这个值不存在,直接报错
#print(res)
2.count 计算某个元素出现的次数
lst = ['宋江', '卢俊义', '吴用', '公孙胜', '关胜', '林冲', '鲁智深', '武松', '史进']
res = lst.count("卢俊义")
print(res)
3.sort 列表排序(默认小到大排序)
lst = [1,2,3,-90,-9,78,3]
lst.sort()
print(lst)
"""
对字母排序 , 按照ascii 编码的大小,默认从小到大排序
一位一位的比较,如果第一位相同,在比较第二位,以此类推...
"""
lst = ["oneal","kobe","james","mcGrady","jordon"]
lst.sort()
print(lst)
# 中文可以排序,但是无规律可循;
lst = ["我","喜欢","吃"]
lst.sort()
print(lst)
lst = [90,100,1,2,3]
# 从大到小排序 指定reverse = True 默认reverse=False
lst.sort(reverse=True)
print(lst)
4.reverse 列表反转操作
lst = [1,2,3,-90,-9,78,3]
lst.reverse()
print(lst)
tuple 元组中的函数只有 count index 跟列表中的方法 一模一样