#python
#python
Вопрос:
При использовании этого кода:
units = ['Temp [C]', 'v [m3/kg]', 'u [kJ/kg]', 's [kJ/kgK]', '[ new ]']
data = ([1, 2, 1, 3,5], [0, 1, 0, 3, 5])
fmt_string = '{:>15}' * len(units)
print(fmt_string.format(*units))
for row in data:
print(fmt_string.format(*row))
Как я могу устранить пробелы перед выводом, чтобы он НЕ выглядел так:
И это будет выглядеть так:
В конечном счете мне нужен вывод (с более сложным вводом), чтобы выглядеть так:
Temp [C] v [m3/kg] u [kJ/kg] h [kJ/kg] s [kJ/kgK]
0.0 0.0009977 0.04 5.03 0.0001
20.0 0.0009996 83.61 88.61 0.2954
40.0 0.0010057 166.92 171.95 0.5705
60.0 0.0010149 250.29 255.36 0.8287
80.0 0.0010267 333.82 338.96 1.0723
100.0 0.0010410 417.65 422.85 1.3034
120.0 0.0010576 501.91 507.19 1.5236
140.0 0.0010769 586.80 592.18 1.7344
160.0 0.0010988 672.55 678.04 1.9374
180.0 0.0011240 759.47 765.09 2.1338
200.0 0.0011531 847.92 853.68 2.3251
220.0 0.0011868 938.39 944.32 2.5127
240.0 0.0012268 1031.60 1037.70 2.6983
260.0 0.0012755 1128.50 1134.90 2.8841
Комментарии:
1. в чем разница между вводом и выводом? Есть ли в
Temp [C]
столбце пробелы?2. Помогает ли создание
fmt_string = '{:>15}' * len(units)
менее 15? Как,fmt_string = '{:>12}' * len(units)
например3. @quilicam пожалуйста, примите один из ответов в качестве решения, нажав на галочку рядом с ответом. Спасибо!
Ответ №1:
Вы можете использовать units = [re.sub('s ', '', u) for u in units]
для удаления пробелов строки в списке, особенно если пробелы заключены в квадратные скобки:
Ваш код:
units = ['Temp [C]', 'v [m3/kg]', 'u [kJ/kg]', 's [kJ/kgK]', '[ new ]']
data = ([1, 2, 1, 3,5], [0, 1, 0, 3, 5])
fmt_string = '{:>15}' * len(units)
print(fmt_string.format(*units))
for row in data:
print(fmt_string.format(*row))
Out[1]:
Temp [C] v [m3/kg] u [kJ/kg] s [kJ/kgK] [ new ]
1 2 1 3 5
0 1 0 3 5
Новый код (обратите внимание на новый вывод столбца «[new]»):
units = [re.sub('s ', '', u) for u in units]
fmt_string = '{:>15}' * len(units)
print(fmt_string.format(*units))
for row in data:
print(fmt_string.format(*row))
Out[2]:
Temp[C] v[m3/kg] u[kJ/kg] s[kJ/kgK] [new]
1 2 1 3 5
0 1 0 3 5