Python 按列表中最长的字符串iterable打印格式
我有两张单子Python 按列表中最长的字符串iterable打印格式,python,Python,我有两张单子 l1 = ['aaaaaaaaaaaaaaaaa','bb'] l2 = ['FY', 'EY'] 我想迭代这两个列表,它们的长度总是相同的,并且打印每个列表,每个列表由许多选项卡隔开 例如: for x,y in zip(l1,l2): print(x,'\t'*3,y) aaaaaaaaaaaaaaaaa FY bb EY 但是,我希望打印内容以列表中最长的元素为选项卡,以便打印内容具有标准格式: print(for
l1 = ['aaaaaaaaaaaaaaaaa','bb']
l2 = ['FY', 'EY']
我想迭代这两个列表,它们的长度总是相同的,并且打印每个列表,每个列表由许多选项卡隔开
例如:
for x,y in zip(l1,l2):
print(x,'\t'*3,y)
aaaaaaaaaaaaaaaaa FY
bb EY
但是,我希望打印内容以列表中最长的元素为选项卡,以便打印内容具有标准格式:
print(formatted_print_tabs)
aaaaaaaaaaaaaaaaa FY
bb EY
我花了一段时间想弄明白这一点,结果弄得我左右为难 您可以先计算最大宽度,然后使用ljust填充字符串:
width = max(map(len, l1))
for x, y in zip(l1, l2):
print(x.ljust(width), y, sep='\t')
您可以先计算最大宽度,然后使用ljust填充字符串:
width = max(map(len, l1))
for x, y in zip(l1, l2):
print(x.ljust(width), y, sep='\t')
您必须解析一次以获得宽度,然后再次进行打印。因为宽度是任意的,你可能想使用空格。谢谢@KennyOstrom,我采取了一种类似的方法,并尝试使用re.sub+空格中的diff替换我的变量,但感觉不对,大约有5行代码!您必须解析一次以获得宽度,然后再次进行打印。因为宽度是任意的,你可能想使用空格。谢谢@KennyOstrom,我采取了一种类似的方法,并尝试使用re.sub+空格中的diff替换我的变量,但感觉不对,大约有5行代码!printx.ljustwidth,y,sep='\t'*3printx.ljustwidth,y,sep='\t'*3