为什么我的代码没有给出子列表的反向

问题描述 投票:0回答:2

我写这段代码来反转子列表。但给定的输出与开始时的列表相同。请帮助。

def reverseInGroups(arr, N, K):
        result = []
        for i in range(0,N,K):
            sub_array = arr[i:i+K]
            sub_array.reverse()
            result.extend(sub_array)
        return result

输出与中给出的列表相同。arr 是列表 N 是 arr 的长度,K 是子列表的大小,例如输入 [1,2,3,4,5] 输出应该是 [3 ,2,1,5,4]

python list function reverse sublist
2个回答
0
投票

这应该有效:

def reverseInGroups(arr, N, K):
    result = []
    for i in range(0,N,K):
        sub_array = arr[i:i+K]
        sub_array = sub_array[::-1] # use slicing to reverse
        result.extend(sub_array)
    return result
reverseInGroups([1,2,3,4,5], 5,3)

没有

sub_array.reverse()


0
投票

你打印的是原始数组而不是 reverseInGroups 的输出吗?

© www.soinside.com 2019 - 2024. All rights reserved.