Python:检索列表值内的列表值的长度

我最近开始学习 Python,我在本教程和一本名为Automate The Boring Stuff With Python的书之间交替使用。


我觉得这本书很容易理解,练习也很有趣。我刚刚解决了一个特别的问题,但老实说,我对我的答案并不满意。


在问题中,给出一个网格如下:


grid = [['.', '.', '.', '.', '.', '.'],

        ['.', '0', '0', '.', '.', '.'],

        ['0', '0', '0', '0', '.', '.'],

        ['0', '0', '0', '0', '0', '.'],

        ['.', '0', '0', '0', '0', '0'],

        ['0', '0', '0', '0', '0', '.'],

        ['0', '0', '0', '0', '.', '.'],

        ['.', '0', '0', '.', '.', '.'],

        ['.', '.', '.', '.', '.', '.']]

仅使用循环,然后需要产生以下输出:


..00.00..

.0000000.

.0000000.

..00000..

...000...

....0....

我对这个问题的解决方案(有效)如下:


for y in range(0,len(grid[0])):

    for x in range(0, len(grid)):

        print(grid[x][y], end='')


    print()

我的问题是grid[0]。我试图概括代码以适应网格中列表具有不同值的情况,但失败了。


我的问题,因此,这是我怎么能检索len的电网[0]一般变量方面?


换句话说,如何在列表中检索列表的长度?


PIPIONE
浏览 204回答 1
1回答

江户川乱折腾

例如取所有内容列表的长:>>> grid = [['.', '.', '.', '.', '.', '.'],...         ['.', '0', '0', '.', '.', '.'],...         ['0', '0', '0', '0', '.', '.'],...         ['0', '0', '0', '0', '0', '.'],...         ['.', '0', '0', '0', '0', '0'],...         ['0', '0', '0', '0', '0', '.'],...         ['0', '0', '0', '0', '.', '.'],...         ['.', '0', '0', '.', '.', '.'],...         ['.', '.', '.', '.', '.', '.']]>>> >>> max(map(len, grid))6顺便说一句,解决这个问题的pythonic方法(没有循环)看起来像这样list(zip(*grid)):>>> for l in zip(*grid):...     print("".join(l))... ..00.00...0000000..0000000...00000.....000.......0....
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python