我想在用户指定的列中打印枚举列表。
import random
lst = random.sample(range(100), 30)
counter = 0
for pos, num in enumerate(sorted(lst)):
if counter % 2 == 0:
print '(%s) %s' %(pos, num),
counter = counter + 1
else:
print '(%s) %s'.rjust(16) %(pos, num)
counter = counter + 1
这给出:
(0) 3 (1) 6
(2) 7 (3) 10
(4) 11 (5) 13
(6) 17 (7) 18
(8) 20 (9) 25
(10) 45 (11) 46
(12) 48 (13) 51
(14) 58 (15) 59
(16) 60 (17) 63
(18) 68 (19) 69
(20) 77 (21) 81
(22) 83 (23) 84
(24) 87 (25) 89
(26) 93 (27) 94
(28) 97 (29) 98
如何打印一个列表,其中前 15 个数字在第一列,后 15 个在第二列?我见过一些示例,其中 range(start, stop, step)
已被用于创建子列表并且结果行已被打印,但我将不得不丢失枚举并只打印数字。
最佳答案
您问题的“用户指定”部分很棘手。用户如何在每一列中指定他们想要的内容?他们可以指定多于两列吗?等
但是,如果您知道您有 30 个项目,并且您知道您想要第一列中的前 15 个项目和第二列中的接下来的 15 个项目,我相信以下方法可以解决问题:
for i in xrange(15):
first = '(%s) %s' % (i, lst[i])
padding = ' ' * (30 - len(first))
second = '(%s) %s' % (i + 15, lst[i + 15])
print '%s%s%s' % (first, padding, second)
关于python - 在多列中打印枚举列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18047232/