Написать скрипт с откорректированным текстом - PullRequest
0 голосов
/ 14 апреля 2019
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 голосов
/ 14 апреля 2019

Для вашего требования: "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)]

Я определил width, sep, на случай, если вы хотите настроить.

Надеюсь, что это поможет вам, и прокомментируйте, если у вас есть дополнительные вопросы. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...