在python中将列表分成子列表

时间:2018-07-04 21:26:44

标签: python list append sublist

我正在尝试创建一个工具,该工具在每个子列表中使用整数str和许多项,然后生成一个列表对象,该对象具有嵌套在其中的所有子列表。例如:

  

输入:

str of ints: '1 2 3 4 5 6 7 8 9'
length of subsets:3
     

输出:       [[1,2,3],[4,5,6],[7,8,9]]

在用户输入子列表长度的情况下,我对于如何创建子列表感到困惑。到目前为止,这是我的代码。...

b= []

def makeList():
    c = input("Drop your number list in here")
    d = input("How many per sublist?")
    newList = c.split()
    for i in newList:
        b.append(int(i))

这只会给我留下一个整数列表。有没有一种方法可以轻松做到这一点?还是我需要在子循环中遍历列表,并在执行过程中追加并弹出弹出窗口?

2 个答案:

答案 0 :(得分:0)

计算块大小:

chunk_sz = int(len(lst) / chunks) + 1

然后块:

[lst[i:i+chunk_sz] for i in range(0, len(lst), chunk_sz)]

答案 1 :(得分:0)

l = list(range(1, 10))
def split(l, size):
    return [l[i : i + size] for i in range(0, len(l), size)]
print(split(l, 3))

这将输出:

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]