String 在python 3.xx中,如何根据列表中最大单词的长度右对齐输出
我有: 我的期望输出:String 在python 3.xx中,如何根据列表中最大单词的长度右对齐输出,string,python-3.x,loops,string-formatting,python-3.6,String,Python 3.x,Loops,String Formatting,Python 3.6,我有: 我的期望输出: a = ['bicycle','airplane','car','boat'] for i in a: print("{:>??}".format(i)) # ?? because I dont know what to do here 我需要对齐我的输出,使所有的字都对齐,间距与最长的字一样大??(我有一个问号,因为我认为这是我实现预期产出的唯一途径)。谢谢 选项1 预先计算最大字符串的长度,并将其作为一个单独的参数传递到format bicycl
a = ['bicycle','airplane','car','boat']
for i in a:
print("{:>??}".format(i)) # ?? because I dont know what to do here
我需要对齐我的输出,使所有的字都对齐,间距与最长的字一样大??(我有一个问号,因为我认为这是我实现预期产出的唯一途径)。谢谢 选项1
预先计算最大字符串的长度,并将其作为一个单独的参数传递到
format
bicycle
airplane
car
boat
选项2
使用
str.rjust
的替代方法:
l = len(max(a, key=len))
for i in a:
print("{n:>{w}}".format(n=i, w=l))
bicycle
airplane
car
boat
选项3
您还可以将
pd.Series.to_string
的转储打印到:
for i in a:
print(i.rjust(l)) # same `l` as computed in Option 1
bicycle
airplane
car
boat
其他制表软件包(我使用
制表
)也可以在这里发挥良好的效果
import pandas as pd
print(pd.Series(a).to_string())
0 bicycle
1 airplane
2 car
3 boat