如何正确使用range()函数来打印/迭代网格

时间:2016-08-18 05:03:14

标签: python-3.x

如果我有一个列表/网格:

grid = [

    ['.', '.', '.', '.', '.', '.'], #[0,0]-[0,5]
    ['.', '0', '0', '.', '.', '.'], #[1,0]-[1,5]
    ['0', '0', '0', '0', '.', '.'], #[2,0]-[2,5]
    ['0', '0', '0', '0', '0', '.'], #[3,0]-[3,5]
    ['.', '0', '0', '0', '0', '0'], #[4,0]-[4,5]
    ['0', '0', '0', '0', '0', '.'], #[5,0]-[5,5]
    ['0', '0', '0', '0', '.', '.'], #[6,0]-[6,5]
    ['.', '0', '0', '.', '.', '.'], #[7,0]-[7,5]
    ['.', '.', '.', '.', '.', '.']] #[8,0]-[8,5]

单步执行此网格并打印内容的最佳方法是range()

类似的东西:

def print_grid(grid):

我看到很多这个for i in range() - 什么是永远不会被宣布的'i'或者它是一种计数器?我对python很新,所以请原谅任何混乱。我会使用嵌套的for循环来逐步穿过网格的绳索吗?

1 个答案:

答案 0 :(得分:0)

for i in range(limit)创建一个从0到limit的数字列表,并遍历limit中的每个项目,并将i设置为该项目。但是,要浏览和打印网格,使用range()并不是最好的方法。

for row in grid:
    for item in row:
        print(item, end = " ")
    print()

for row in grid浏览grid中的每个列表,并将row设置为该列表。 for item in row遍历row中的每个项目,并将item设置为该项目。 print(item, end = " ") print s item以及end = " "使得print之后添加换行符而不是print一个空间。内部for循环后面的空double binary_inverse (unsigned input) { double x = 0; while (input) { x += input & 0x1; x /= 10; input >>= 1; } return x; } 命令为要打印的下一行插入一个新行。

希望这能澄清你的困惑