Перебрать и изменить список списков
Из google-таблиц получаю данные в таком виде:
[['Иван', '253054', '29,84'],
['Александр', '246041', '28,56'],
['Антон', '324203', '32,02'],
['Дмитрий', '311052', '32,33']]
Далее хочу передавать эти данные через телеграм-бота в читаемом виде. Для этого необходимо первому элементу у вложенных списков (имя) в конце добавлять столько пробелов, пока их длина не станет равной 20 символам, а второму и третьему элементу добавлять пробелы спереди, пока их длина не будет равна 7 символам. В результате должно получиться как то так:
Иван 253054 29,84
Александр 246041 28,56
Антон 324203 32,02
Дмитрий 311052 32,33
Задавал подобный вопрос по JS, там мне подсказали как это сделать
x = x.map(
([name, i, j]) => name.padEnd(15, " ") + i.padStart(7, " ") + j.padStart(7, " ") + '\n'
)
Теперь понадобилось сделать аналогичное на python. Буду рад любой помощи. Спасибо
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
Это можно сделать через функции строки ljust и rjust
Пример:
items = [
['Иван', '253054', '29,84'],
['Александр', '246041', '28,56'],
['Антон', '324203', '32,02'],
['Дмитрий', '311052', '32,33']
]
lines = [
name.ljust(15) + i.rjust(7) + j.rjust(7)
for name, i, j in items
]
print('\n'.join(lines))
Или через форматирование строк:
lines = [
f'{name:<15}{i:>7}{j:>7}'
for name, i, j in items
]
Результат:
Иван 253054 29,84
Александр 246041 28,56
Антон 324203 32,02
Дмитрий 311052 32,33