您可以使用Python中的字符串格式化来实现保留小数位数并垂直对齐输出表中的小数点。
下面是一个示例代码:
data = [
['Name', 'Age', 'Height'],
['Alice', 25, 165.3],
['Bob', 27, 180.6],
['Cathy', 30, 155.9]
]
# 找到每一列的最大长度
max_lengths = [max(map(len, column)) for column in zip(*data)]
# 格式化输出每一行的数据
for row in data:
formatted_row = [
f'{value:>{max_length}}' if isinstance(value, str) else f'{value:>{max_length}.2f}'
for value, max_length in zip(row, max_lengths)
]
print(' '.join(formatted_row))
输出结果为:
Name Age Height
Alice 25 165.30
Bob 27 180.60
Cathy 30 155.90
在这个示例中,我们首先找到每一列的最大长度,这将决定每一列的宽度。然后,我们使用字符串格式化来保留小数位数,并使用垂直对齐格式(>{max_length}
)将小数点对齐到相应列的最大宽度。最后,我们使用join()
函数将每一行的格式化数据连接起来,并输出结果。
注意:这个示例假设所有的数字都是浮点数,并且只需要保留两位小数。如果有其他的要求,您可以根据实际情况进行修改。