Написать скрипт с скорректированным текстом

#python #list #text

#python #Список #текст

Вопрос:

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

Как я могу распечатать этот список в виде текста, выровненного по правому краю, в 10 столбцах?
Я пробовал 'r' right-adjust(>) и rjust , но оба выдают мне ошибку.

Комментарии:

1. Ваш код работает на моей машине. На выходе получается 10 списков, которые содержат 10 целых чисел в каждом списке.

2. Мне нужно, чтобы он был скорректирован вправо как текст.

3. Что вы имеете в виду? Не могли бы вы показать нам свой ожидаемый результат?

4. вы имеете в виду число, правильно заданное в каждом столбце? как насчет , сохранить или нет? можете ли вы привести пример вывода?

Ответ №1:

Для вашего требования: "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 , на случай, если вы захотите скорректировать.

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