注:cut_index为依据此进行切片的下标信息,all_list为待切片内容
def list_slices(all_list, cut_index):
# 新建一个list用于接收切片之后的list
martix = []
# 用于更新list
left = all_list
# 循环长度
Cumulative_Length = 0
for ind in cut_index:
#获取 子列表
sub = left[ :ind+1-Cumulative_Length] #list切片 左闭右开 故 +1
#添加子列表
martix.append(sub)
#print("martix:",martix)
#更新 剩余列表
left = left[ind+1-Cumulative_Length: ]
#更新累计append的子列表长度
Cumulative_Length += len(sub)
#print("left",left)
martix.append(left)
print("指定下标分割后的list:", martix)
return martix
if __name__ == '__main__':
all_list = [14, 15, 16, 17, 18, 19, 20, 21, 23]
cut_index = [0, 3, 5]
list_slices(all_list, cut_index)