将列表拆分为包含n个元素的子列表

3
有没有一种Pythonic的方式将列表拆分为一个三元素子列表的列表。
x = [1, 2, 3, 4, 5, 6, 7, 8, 9]
y = [[1,2,3], [4,5,6], [7,8,9]]

prev,re= [],[]
for a in x:
    if len(prev)==3:
        re+=prev
        prev=[]
    else: 
        prev+=[a]
1个回答

3

使用列表推导式

>>> x = [1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> n = 3
>>> [x[i:i+n] for i in range(0, len(x), n)]
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接