为了账号安全,请及时绑定邮箱和手机立即绑定

在 python 中使用 format 在列中打印 n 行

在 python 中使用 format 在列中打印 n 行

忽然笑 2023-05-16 14:57:00
我想将 n 行打印到列中。列大小取决于每行中最长的数据。我有类似的东西data = [['abcdefghijk', 'b','c'],['121','313','5441256652'],['--','310','36']['642','65','10']]并想把它变成abcdefghijk    121           --     642b              313           310    65c              5441256652    36     10每列的宽度是行中最长元素的长度 + 4我知道对于这种情况我可以使用row_format ='{:<15}{:<14}{:<7}{:<7}'for v in zip(*data):    print (row_format.format(*v))但是,如何在不事先知道元素长度的情况下获得数据中 n 行的相同模式?
查看完整描述

1 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

您可以动态构建row_format字符串:


row_format = ''.join(f'{{:<{len(max(x, key=len)) + 4}}}' for x in data)

for v in zip(*data):

    print (row_format.format(*v))

比如这个数据


data = [['a', 'bbbbbb', 'c'],

        ['121', '313', '0'],

        ['------', '310', '36'],

        ['3', '455', '5']]

是这样打印的:


a         121    ------    3      

bbbbbb    313    310       455    

c         0      36        5


查看完整回答
反对 回复 2023-05-16
  • 1 回答
  • 0 关注
  • 94 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信