每秒翻转一个数组并反转

2024-05-23 14:27:57 发布

您现在位置:Python中文网/ 问答频道 /正文

基本上,我在python的“example”中有一个矩阵(虽然大得多)。我需要用一些python代码生成数组“example”和一些python代码。我想一个for循环是合适的-但是我该怎么做呢?在

example= 
[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]

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

所以它以蛇形的方式递增。第一排必须倒过来!然后按照这个模式。在

谢谢!在


Tags: 代码forexample方式模式矩阵数组what
2条回答

或者,你可以用iter。在

a = [[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]]

b = []

rev_a = iter(a[::-1])

while rev_a:
    try:
        b.append(rev_a.next()[::-1])
        b.append(rev_a.next())
    except StopIteration:
        break

print b

修改(之前不知道。@亚当)

^{pr2}$

我假设example实际上是:

example = [[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]]

在这种情况下,您可以:

^{pr2}$

这会给你:

In [5]: swapped_example
Out[5]: 
[[25, 24, 23, 22, 21],
 [16, 17, 18, 19, 20],
 [15, 14, 13, 12, 11],
 [6, 7, 8, 9, 10],
 [5, 4, 3, 2, 1]]

相关问题 更多 >