翻转二维数组中的每个交替行 - Python

Flip Every Alternate Row in 2-D array- Python

我是编程初学者,正在尝试学习如何翻转我的二维数组中的每一行(python)

例如:

     `Input
    a=[[1,2,3,4,5],
    [10,9,8,7,6],
    [11,12,13,14,15],
    [20,19,18,17,16],
    [21,22,23,24,25],
    [30,29,28,27,26]]'

    Output
    a_f=[[1,2,3,4,5],
    [6,7,8,9,10],
    [11,12,13,14,15],
    [16,17,18,19,20],
    [21,22,23,24,25],
    [26,27,28,29,30]] ` 

我尝试使用 python 文档字符串中的翻转函数,但它反转了整个数组。也有可能代码可以翻转每个交替行,而无需我每次都指定有多少行。

我建议您在处理数组时开始使用 NumPy。这是一个执行您的任务的小脚本。它使用 enumerate 来索引行,模数 (i % 2 == 1) 来区分奇数行和偶数行,并使用 numpy 索引 [::-1] 来翻转行:

import numpy as np

def flip_even_rows(a):
    for i, row in enumerate(a):
        if i % 2 == 1:
            a[i] = row[::-1]
    return a

a = [[1,2,3,4,5],
     [10,9,8,7,6],
     [11,12,13,14,15],
     [20,19,18,17,16],
     [21,22,23,24,25],
     [30,29,28,27,26]]

a = np.array(a)

print(flip_even_rows(a))