到目前为止,我的列表的格式如下:
print('{:>15} {:>15} {:>15}{:>15}'.format(*i_liste_l))
我对 python 很陌生,我不知道如何通过动态设置动态宽度
len_total = int(len(str(mi_f))) if len_total >= 15: width = int(len_total) else: width = int(15) print('{:>width} {:>width} {:>width}{:>width}'.format(*i_liste_l))
这可能吗?我必须为列表中的所有项目设置宽度吗?
是的,可以通过动态设置宽度来格式化输出。在 Python 的 str.format() 中,可以使用 {:<{}} 或 {:>{}} 的方式传递动态宽度。以下是如何在你的例子中实现这一点:
str.format()
{:<{}}
{:>{}}
len_total = len(str(mi_f)) width = max(len_total, 15) # 宽度取 len_total 和 15 中的较大值 # 通过 format 将宽度参数 w=width 传入每个字段 print('{:>{w}} {:>{w}} {:>{w}} {:>{w}}'.format(*i_liste_l, w=width))
{:>{w}}
{w}
width
len_total
15
format()
w=width
i_liste_l
mi_f
这样每个项目就会按照指定的动态宽度来输出了!