不同于列表扁平化的操作。
给定一个列表和一个长度 n,返回由长度为 n 的子列表组成的列表。
def sublist(lst, n):
sub=[] ; result=[]
for i in lst:
sub+=[i]
if len(sub)==n: result+=[sub] ; sub=[]
if sub: result+=[sub]
return result
一个例子:
如果列表如下:
[1,2,3,4,5,6,7,8]
并且 n 是:
3
返回:
[[1, 2, 3], [4, 5, 6], [7, 8]]
有更简洁的写法吗?
顺带一提,在上述情况下将列表附加到列表时,哪种方式更受欢迎:
list1+=[list2]
或者:
list1.append(list2)
根据Summerfield的“Programming in Python 3”,假设它们是相同的?
谢谢。