|
发表于 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]
|
|