翻转二维数组中的每个交替行 - 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))
我是编程初学者,正在尝试学习如何翻转我的二维数组中的每一行(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))