# ### 列表的相关操作
lst1 = ["孟凡伟","康与众"]
lst2 = ["康与众","张宇"]
# (1)列表的拼接 (同元组)
res = lst1 + lst2 #['孟凡伟', '康与众', '康与众', '张宇']
print(res)
# (2)列表的重复 (同元组)
res = lst1 * 3 #['孟凡伟', '康与众','孟凡伟', '康与众','孟凡伟', '康与众']
print(res)
# (3)列表的切片 (同元组)
"""
语法 => 列表[::] 完整格式:[开始索引:结束索引:间隔值]
(1)[开始索引:] 从开始索引截取到列表的最后
(2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)
(3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
(4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取列表元素值
(5)[:]或[::] 截取所有列表
"""
lst = ["孟凡伟","康与众","张宇","赵沈阳","需保障","梁新宇","沈思雨"]
# (1)[开始索引:] 从开始索引截取到列表的最后
res =lst[2:] #["张宇","赵沈阳","需保障","梁新宇","沈思雨"]
print(res)
# (2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)
res =lst[:3] ["孟凡伟","康与众","张宇"]
print(res)
# (3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
res = lst[3:5] #["赵沈阳","需保障"]
print(res)
# (4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取列表元素值
# 正向截取
res = lst[::5]
print(res) # 0 5 10 #["孟凡伟","梁新宇"]
# 逆向截取
res = lst[::-3] # -1 -4 -7 #['沈思雨', '赵沈阳', '孟凡伟']
print(res)
# (5)[:]或[::] 截取所有列表
res = lst[:]
res = lst[::]
print(res) #['孟凡伟', '康与众', '张宇', '赵沈阳', '需保障', '梁新宇', '沈思雨']
# (4)列表的获取 (同元组)
# 0 1 2
lst = [10,20,30]
# -3 -2 -1
print(lst[-1]) #30
# (5)列表的修改 ( 可切片 )
lst = ["孟凡伟","康与众","张宇","赵沈阳","需保障","梁新宇","沈思雨"]
# 改单个值
lst[1] = "陈璐"
print(lst) #['孟凡伟', '陈璐', '张宇', '赵沈阳', '需保障', '梁新宇', '沈思雨']
# 1.改多个值 (如果使用切片进行修改,要求数据必须是Iterable可迭代性数据)
# lst[1:4] = ["孙悟空","猪八戒","白骨精"] #['孟凡伟', '孙悟空', '猪八戒','白骨精','需保障', '梁新宇', '沈思雨']
#lst[1:4] = 123 #error
lst[1:4] = "你好" #['孟凡伟', '你', '好', '需保障', '梁新宇', '沈思雨']
print(lst)
# 2.改多个值(带有步长)
"""带有步长的切片修改,切出几个元素就修改几个元素,数量要一致."""
lst = ["孟凡伟","康与众","张宇","赵沈阳","需保障","梁新宇","沈思雨"]
"""0 3 6 """
print(lst[::3]) #["孟凡伟","赵沈阳","沈思雨"]
lst[::3] = "abc" #['a', '康与众', '张宇', 'b', '需保障', '梁新宇', 'c']
# lst[::3] = "ab" #error
print(lst)
# (6)列表的删除 ( 可切片 )
lst = ["孟凡伟","康与众","张宇","赵沈阳","需保障","梁新宇","沈思雨"]
# 1.一次删一个
# del lst[2]
# print(lst) #["孟凡伟","康与众","赵沈阳","需保障","梁新宇","沈思雨"]
# 2.一次删一堆
# del lst[1:-1]
# print(lst) ['孟凡伟', '康与众', '张宇', '赵沈阳', '需保障', '梁新宇', '沈思雨']
# 3.注意点
res = lst[1:-1]
del res # 删除的是res这个变量 和 列表无关
print(lst)
# 额外的注意点
tup = (1,2,3,4,[10,11,12])
print(tup[-1]) #[10,11,12]
tup[-1][-1] = 13 #(1,2,3,4,[10,11,13])
print(tup)