首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python中的5x5网格

Python中的5x5网格
EN

Stack Overflow用户
提问于 2017-10-07 22:39:02
回答 2查看 2.5K关注 0票数 0

开发人员,我想用python创建一个5x5的网格。我尝试了这段代码,但我无法生成所需的输出,这里我使用abc for while循环。

代码语言:javascript
运行
复制
    l1 = []
    abc = 1
    while abc == 5:
       for i in range(1,6,1):
          l1.append(i)
           abc+=1
     print(l1)

但它的外在只是[]

我想要这种类型的输出

代码语言:javascript
运行
复制
['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']
EN

回答 2

Stack Overflow用户

发布于 2017-10-07 22:44:01

您的逻辑非常混乱,因为您的while循环中有一个条件abc == 5,所以它永远不会执行。您可以通过以下方式生成所需的内容:

代码语言:javascript
运行
复制
[[i for i in range(j, j + 5)] for j in range(0, 25, 5)]

因此,输出将是:

代码语言:javascript
运行
复制
[[0, 1, 2, 3, 4],
 [5, 6, 7, 8, 9],
 [10, 11, 12, 13, 14],
 [15, 16, 17, 18, 19],
 [20, 21, 22, 23, 24]]

如果您希望它从1开始,在25结束:

代码语言:javascript
运行
复制
[[i for i in range(j, j + 5)] for j in range(1, 26, 5)]

因此,输出将是:

代码语言:javascript
运行
复制
[1, 2, 3, 4, 5],
 [6, 7, 8, 9, 10],
 [11, 12, 13, 14, 15],
 [16, 17, 18, 19, 20],
 [21, 22, 23, 24, 25]]

更新:(基于您在问题中提供的输出)

代码语言:javascript
运行
复制
grid = [[i for i in range(j, j + 5)] for j in range(0, 25, 5)]
for item in grid:
    print(item)
票数 0
EN

Stack Overflow用户

发布于 2017-10-08 00:29:18

以下是我的猜测,我相信你是在问:

代码语言:javascript
运行
复制
>>> l1 = [[i for i in range(1, 6)] for _ in range(5)]
>>> print(*l1, sep='\n')
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
>>> 

当您在Python shell中并想要快速查看二维列表时,这个print()习惯用法非常简单,易于记忆和使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46621408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档