簡體   English   中英

Python中的5x5網格

[英]5x5 Grid in Python

開發人員,我想在python中制作5x5網格,我嘗試使用此代碼,但在這里我無法生成所需的輸出,我在while循環中使用abc

    l1 = []
    abc = 1
    while abc == 5:
       for i in range(1,6,1):
          l1.append(i)
           abc+=1
     print(l1)

但它的出局只是[]

我想要這種類型的輸出

['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']

您的邏輯非常混亂,因為您的while循環中有條件abc == 5 ,因此它將永遠不會執行。 您可以通過以下方式生成所需的內容:

[[i for i in range(j, j + 5)] for j in range(0, 25, 5)]

所以輸出將是:

[[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結束:

[[i for i in range(j, j + 5)] for j in range(1, 26, 5)]

所以輸出將是:

[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]]

更新:(基於您在問題中提供的輸出)

grid = [[i for i in range(j, j + 5)] for j in range(0, 25, 5)]
for item in grid:
    print(item)

關於我相信您在問的問題,這是我的猜測:

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

這個print()用法很簡單,足以記住和使用,只要您在Python外殼中並且想要快速檢查一個二維列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM