我在python中有一个看起来像这样的列表:[a,b,c,d,e,f,g,h,i]
。我想将此列表转换为列表列表(嵌套列表)。第二级列表应包含四个最大元素。因此,新列表应如下所示:
[
[a,b,c,d],
[e,f,g,h],
[i],
]
有没有pythonic方法来做到这一点?我将不得不这样做几次,所以如果有人知道这样做而不使用数百个索引,我会很高兴。
答案 0 :(得分:2)
您可以使用list comprehension,xrange
和Explain Python's slice notation:
>>> lst = ['a', 'b', 'c', 'd', 'e',' f', 'g',' h', 'i']
>>> n = 4 # Size of sublists
>>> [lst[x:x+n] for x in xrange(0, len(lst), n)]
[['a', 'b', 'c', 'd'], ['e', 'f', 'g', 'h'], ['i']]
>>>