用调整后的文字编写脚本

时间:2019-04-14 06:02:51

标签: python list text

l = list(range(1, 101))
chunks = [l[i:i+10] for i in range(0, len(l), 10)]
print(*chunks, sep='\r\n') 

如何将此列表打印为10列的右对齐文本? 我尝试过'\r' right-adjust(>)rjust,但都给我一个错误。

1 个答案:

答案 0 :(得分:0)

根据您的要求:"print this list as right aligned text in 10 columns"

据我所知,您可能想要这样的东西:

  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  26  27  28  29  30
 31  32  33  34  35  36  37  38  39  40
 41  42  43  44  45  46  47  48  49  50
 51  52  53  54  55  56  57  58  59  60
 61  62  63  64  65  66  67  68  69  70
 71  72  73  74  75  76  77  78  79  80
 81  82  83  84  85  86  87  88  89  90
 91  92  93  94  95  96  97  98  99 100

如果是这样,则可以通过rjust来实现,必须先将int转换为str

width = 3
sep = ' '
chunks = [sep.join(map(lambda x: str(x).rjust(width), l[i:i + 10])) for i in range(0, len(l), 10)]

如果您要调整,我已经定义了widthsep

希望对您有所帮助,如果还有其他问题,请发表评论。 :)