2012-06-09 64 views
2

我在做一個水模擬程序,我需要它通過y,x做一個for循環。但我需要先檢查最底部的y,然後再檢查。這是我的拉特:如何爲反向循環?

lvl = [[0, 0, 1, 0, 0], 
     [0, 0, 1, 0, 0], 
     [0, 0, 1, 0, 0], 
     [0, 0, 0, 0, 0], 
     [0, 0, 0, 0, 0]] 

我需要它來檢查LVL [4],然後LVL [3],LVL [2]等請幫幫忙!

注意:我使用嵌套for循環,所以我可以檢查y,x。

回答

7

可以使用reversed內置的方法來扭轉你的名單列表的排序:

for li in reversed(lvl): 
    print li 

輸出:

[0, 0, 0, 0, 0] 
[0, 0, 0, 0, 0] 
[0, 0, 1, 0, 0] 
[0, 0, 1, 0, 0] 
[0, 0, 1, 0, 0] 
3

如果您使用for循環,你可以使用range生成反向序列以索引lvl

>>> range(4,-1,-1) 
[4, 3, 2, 1, 0] 

即,或許真的類似於:

>>> for i in range(4,-1,-1): 
...  print lvl[i] 
... 
[0, 0, 0, 0, 0] 
[0, 0, 0, 0, 0] 
[0, 0, 1, 0, 0] 
[0, 0, 1, 0, 0] 
[0, 0, 1, 0, 0] 
>>>