如何将子列表拆分为子列表k次? (Python)

如何将子列表拆分为子列表k次? (Python),第1张

概述我知道我可以使用以下方法将列表拆分为相同大小的子列表: segment = len(list)//ksub_lists = [list[i:i+segment] for i in range(0, len(list), segment)] 但是,我不确定如何将长度为k ^ m的列表拆分为子列表,然后是其他子列表,直到每个子列表的长度为1. 例如: k = 2list = [1, 2, 3, 4 我知道我可以使用以下方法将列表拆分为相同大小的子列表:
segment = len(List)//ksub_Lists = [List[i:i+segment] for i in range(0,len(List),segment)]

但是,我不确定如何将长度为k ^ m的列表拆分为子列表,然后是其他子列表,直到每个子列表的长度为1.

例如:

k = 2List = [1,2,3,4,5,6,7,8]List = [[1,4],[5,8]]List = [[[1,2],[3,4]],[[5,6],[7,8]]]List = [[[[1],[2]],[[3],[4]]],[[[5],[6]],[[7],[8]]]]

每当我试图循环这个时,我就会被打结,是否有捷径?

解决方法 这基本上就是你的代码:
def split_List(input_List,segments):    if len(input_List) == 1:        return input_List    segment_length = len(input_List) // segments    return [split_List(input_List[i:i+segment_length],segments)             for i in range(0,len(input_List),segment_length)]>>> split_List([1,8],2)[[[[1],[8]]]]
总结

以上是内存溢出为你收集整理的如何将子列表拆分为子列表k次? (Python)全部内容,希望文章能够帮你解决如何将子列表拆分为子列表k次? (Python)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1206565.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存