|
发表于 2020-4-15 10:46:02
|
显示全部楼层
本帖最后由 岚冰1234 于 2020-4-15 10:48 编辑 import math
import copy
def splice_lst(lst,num):
#列表里包含列表时,将其展开,
def deep(lst):
result = []
for each in lst:
if type(each) == list:
#如果元素是列表,将其排序
each.sort()
result.extend(deep(each))
else:
result.append(each)
return result
#分块
def chunk(lst,num):
num = int(num)
size = math.ceil(len(lst)/num)
L = list(range(0,size))
def ch(x):
lst1 = lst[x*num:(x+1)*num]
return lst1
lst2 =list(map(ch, L))
#深拷贝,实现讲分片的方式展示出来
lst3 = copy.deepcopy(lst2)
result = deep(lst2)
print('数组分成',num,'元素一组:',lst3,',其输出结果是:',result)
for each in range(1,num+1):
chunk(lst,each)
a=[4, 3, 2, 1, 0]
print(splice_lst(a,4))
输出结果
数组分成 1 元素一组: [[4], [3], [2], [1], [0]] ,其输出结果是: [4, 3, 2, 1, 0]
数组分成 2 元素一组: [[4, 3], [2, 1], [0]] ,其输出结果是: [3, 4, 1, 2, 0]
数组分成 3 元素一组: [[4, 3, 2], [1, 0]] ,其输出结果是: [2, 3, 4, 0, 1]
数组分成 4 元素一组: [[4, 3, 2, 1], [0]] ,其输出结果是: [1, 2, 3, 4, 0]
|
|