首页 > 解决方案 > python中的切片列表

问题描述

我需要使用 python 3.7 对列表进行切片,切片应该包含两个元素,如果最后我们得到一个元素(如下所示),那么最后一个元素应该转到上一部分。

def solution(A):
    l = len(A)
    size = 2
    for i in range(1, len(A), size):
        print(A[i:i+2])

solution([4,2,2,5,1,5,8,9])  

输出:

[2, 2]
[5, 1]
[5, 8]
[9]

期望输出:

[2, 2]
[5, 1]
[5, 8, 9]

谢谢你的帮助

标签: pythonpython-3.xlistchunks

解决方案


def solution(A):
    l = len(A)
    size = 2
    groups = [ A[i:i+size] for i in range(1, len(A), size) ]
    if len(groups[-1]) < size:
       groups[-2].extend(groups.pop())
    for x in groups:
        print(x)

适用于每个大小值,而不仅仅是 2。


推荐阅读