2

尽管我怀疑它有一个简单的修复程序暂时从我的大脑中泄漏,但我在尝试实现以下目标时感到有些悲痛。我需要能够打印一个可变尺寸的网格,其左侧有数字,如下所示

1 - + -
2 + - +
3 - + -

网格由嵌套列表组成,使用enumeratewithi+1如下

for i, line in enumerate(grid):
    return i+1, line

我可以在左侧获得这些数字,但是输出显示为不整洁的列表,而不是我所追求的,目前我正在使用打印网格(没有数字)

def print_grid(grid):
    for line in grid:
        for char in line:
            print char,
        print

我应该使用其他东西而不是枚举来获得这些数字吗?因为可以使用可变参数设置网格,所以我真的希望有一种方法可以在打印它时实现这一点,而不是修改我用来构建网格的代码,我迫切希望不要篡改它破坏?我在互联网上进行了搜索,发现人们在他们绘制的任何图片的底部都出现了数字,但不是像那样在左侧。无论我将 enumerate 语句粘贴在 print_grid 函数中的哪个位置,它都会弄乱输出。

4

2 回答 2

3

您可以将每个列表加入一个字符串:

for i, line in enumerate(grid, 1):
    print i, ' '.join(line)
于 2011-10-02T00:36:29.477 回答
1

你在找这个吗?

for i, line in enumerate(grid):
   print i,
   for char in line:
      print char,
   print
于 2011-10-02T00:32:53.023 回答