我要在用户指定的列中打印枚举列表。
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/