有没有一种方法可以更轻松地编写下面的代码?代码:
lista = []
for i in range(5):
lista.append([]) # >>> [[], [], [], [], []]
l25 = []
for i in range(1, 26):
l25.append(str(i).zfill(2))
part = 5
k = 0
while k < len(lista):
lista[k] = l25[part-5:part]
k = k + 1
part = part + 5
i = 0
while i < len(lista):
print(*lista[i], sep=" ")
i = i + 1
我想使用嵌套列表,其中包含多个列表。
上面的代码将打印:
01 02 03 04 05
06 07 08 09 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
答案 0 :(得分:6)
您可以使用列表理解功能构建网格,然后打印它:
grid = [[str(i).zfill(2) for i in range(j, j + 5)] for j in range(1, 26, 5)]
for line in grid:
print(' '.join(line))
输出
01 02 03 04 05
06 07 08 09 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
答案 1 :(得分:2)
您可以使用itertools.count:
from itertools import count
counter = count(1)
lista = [[str(next(counter)).zfill(2) for j in range(5)] for i in range(5)]
i = 0
while i < len(lista):
print(*lista[i], sep=" ")
i = i + 1
输出
01 02 03 04 05
06 07 08 09 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25