为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PIPIONE 2021-08-17 16:12:18
我最近开始学习 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]一般变量方面?换句话说,如何在列表中检索列表的长度?
查看完整描述

1 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

例如取所有内容列表的长:


>>> 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....


查看完整回答
反对 回复 2021-08-17
  • 1 回答
  • 0 关注
  • 203 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号