【问题标题】:Loop through 2D array in reverse反向循环遍历二维数组
【发布时间】:2018-03-09 22:11:10
【问题描述】:

我想反向遍历一个二维数组。这就是我使用reversed() 的原因,但我收到一个错误提示

列表索引必须是整数,而不是列表

数组示例:

labirynth = [
[1,1,1,1,1,1,1],
[1,0,0,0,1,0,1],
[1,0,1,0,0,0,1],
[1,1,1,1,1,1,1]
]

我目前的解决方案:

for i in reversed(labirynth):
    for j in reversed(labirynth[i]):
        #do stuff

【问题讨论】:

标签: python arrays multidimensional-array


【解决方案1】:

无需使用[] 访问列表。外部 for 循环已经返回列表。你可以这样做

for i in reversed(labirynth):
    for j in reversed(i):
        # do stuf...

【讨论】:

    【解决方案2】:

    你可能想要

    for i in reversed(labirynth):
      for j in reversed(i):
        # do stuff
    

    这是一个交互式演示:

    >>> labirynth = [
    [1,1,1,1,1,1,1],
    [1,0,0,0,1,0,1],
    [1,0,1,0,0,0,1],
    [1,1,1,1,1,1,1]
    ]
    ... ... ... ... ...
    >>> for i in reversed(labirynth):
    ...    print i
    ... 
    [1, 1, 1, 1, 1, 1, 1]
    [1, 0, 1, 0, 0, 0, 1]
    [1, 0, 0, 0, 1, 0, 1]
    [1, 1, 1, 1, 1, 1, 1]
    >>> for i in reversed(labirynth):
    ...   for j in reversed(i):
    ...     print j
    ... 
    1
    1
    1
    ... continues
    

    【讨论】:

    • 这正好解决了我的问题。谢谢你这么好的解释!
    猜你喜欢
    • 2014-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    • 2019-02-04
    • 2018-11-02
    • 2016-01-20
    • 1970-01-01
    相关资源
    最近更新 更多