使用此代码:
import string
for i, j in enumerate(string.ascii_uppercase, 1):
print('{}: {}'.format(i, j))
我得到以下输出:
1: A
2: B
3: C
4: D
5: E
6: F
7: G
8: H
9: I
10: J
11: K
12: L
13: M
14: N
15: O
...
我正在寻找的是:
0: A 5: F ....
1: B 6: G
2: C 7: H
3: D 8: I
4: E 9: J
5: F 10: K
有没有办法将长列拆分成较小的列并将它们并排打印?
(注意:上面的例子仅用于说明输出。打印的实际内容可能非常不同)
答案 0 :(得分:1)
对于Python3,如果需要列式打印,可以尝试此功能 -
def listPrinter(lst, cols):
l = len(lst)
rs = int(l/cols)
for i in range(rs):
for j in range(cols):
print(lst[i + rs*j] , end='\t')
print('')
请注意,上述函数的参数lst
是要打印的内容列表。
然后使用 -
调用此函数lst = []
for i, j in enumerate(string.ascii_uppercase, 1):
lst.append('{}: {}'.format(i, j))
listPrinter(lst,2)
这会输出 -
1: A 14: N
2: B 15: O
3: C 16: P
4: D 17: Q
5: E 18: R
6: F 19: S
7: G 20: T
8: H 21: U
9: I 22: V
10: J 23: W
11: K 24: X
12: L 25: Y
13: M 26: Z
答案 1 :(得分:1)
在不更改脚本的情况下,这是一种更简单的方法:
import string
for i, j in enumerate(string.ascii_uppercase, 1):
if(i%2==0):
print('{}: {}'.format(i, j))
else:
print('{}: {}\t'.format(i, j)),