Как выровнить данные по столбцам?
['Worldwide', '951,901', '135.09', '195,929', '47,522']
['Norway', '5,007', '939.6', '0', '45']
['United States', '216,362', '661.48', '8,878', '5,133']
['Italy', '110,574', '1,750.55', '16,847', '13,155']
['Spain', '110,238', '2,224.77', '26,743', '10,003']
['China', '81,589', '59.41', '76,408', '3,318']
['Germany', '78,199', '952.06', '11,722', '932']
['France', '56,325', '833.63', '7,882', '4,025']
['Iran', '47,593', '587.62', '15,473', '3,036']
['United Kingdom', '29,474', '454.19', '0', '2,352']
['Switzerland', '17,785', '2,621.22', '4,013', '488']
['Turkey', '15,679', '187.31', '333', '277']
['Belgium', '15,348', '1,489.05', '2,495', '1,011']
['Netherlands', '13,614', '836.03', '0', '1,173']
['Austria', '10,859', '1,385.79', '1,436', '146']
нужно получить 5 ровных столбцов
Ответы (2 шт):
Автор решения: strawdog
→ Ссылка
Попробуйте поэкспериментировать с форматированием.
txt = [['Norway', '5,007', '939.6', '0', '45'],
['United States', '216,362', '661.48', '8,878', '5,133'],
['Italy', '110,574', '1,750.55', '16,847', '13,155'],
['Spain', '110,238', '2,224.77', '26,743', '10,003'],
['China', '81,589', '59.41', '76,408', '3,318']]
for x in txt:
print("{:<20}{:>10}{:>10}{:>10}{:>10}".format(*x))
выведет:
Norway 5,007 939.6 0 45
United States 216,362 661.48 8,878 5,133
Italy 110,574 1,750.55 16,847 13,155
Spain 110,238 2,224.77 26,743 10,003
China 81,589 59.41 76,408 3,318
Автор решения: vadim vaduxa
→ Ссылка
Чтобы не указывать фиксированную длину столбца в "{:<20}{:>10}{:>10}{:>10}{:>10}" - автоопределение длины колонок
txt = [['Norway StatesStates StatesSt', '5,007', '939.6', '0', '45'],
['United States States States', '216,362', '661.48', '8,878', '5,133'],
['Italy', '110,574', '1,750.55', '16,847', '13,155'],
['Spain', '110,238', '2,224.77', '26,743', '10,003'],
['China', '81,589', '59.41', '76,408', '3,318']]
mlen = (max(map(len, col)) for col in zip(*txt)) # 27, 7, 8, 6, 6
s = f"{{:<{next(mlen)}}} {' '.join(f'{{:>{ml}}}' for ml in mlen)}" # "{:<27} {:>8}{:>9}{:>7}{:>7}"
for x in txt:
print(s.format(*x))
out:
Norway StatesStates StatesSt 5,007 939.6 0 45
United States States States 216,362 661.48 8,878 5,133
Italy 110,574 1,750.55 16,847 13,155
Spain 110,238 2,224.77 26,743 10,003
China 81,589 59.41 76,408 3,318
