gpt4 book ai didi

Python 多行对齐使用格式

转载 作者:行者123 更新时间:2023-12-01 06:51:50 24 4
gpt4 key购买 nike

背景:

当我进行数据清理时,我想按行打印我的参数名称及其值。然而 args 的名称长度不同,它们的值也不同。为了清楚起见,我希望在每行中将 arg 的名称向左对齐,将 arg 的值向右对齐。

例如,我想要如下结果:

输出:

Arg1               :           value1
Arg2222222222222222: value2
Arg3 : value33333333333

当前方法:

假设我有 3 个参数和 3 个值。

name_list = ['Arg1','Arg2222222222222222','Arg3']
value_list = ['value1', 'value2', 'value33333333333']

使用下面的代码,我可以清楚地打印它。

代码:

name_list = ['Arg1','Arg2222222222222222','Arg3']
value_list = ['value1', 'value2', 'value33333333333']
padding1 = max(map(len, name_list))
padding2 = max(map(len, value_list))
print("padding1 = {}, padding2 = {}".format(padding1,padding2))
for num in range(len(name_list)):
print('{0}: {1}'.format(name_list[num].ljust(padding1), value_list[num].rjust(padding2)))

输出:

padding1 = 19, padding2 = 16
Arg1 : value1
Arg2222222222222222: value2
Arg3 : value33333333333

问题:

我们可以使用更少的代码来实现相同的目标吗?或者,我们可以做得更具体吗?

谢谢你们的帮助,伙计们!

一些引用

String alignment when printing in python

python 3 string formatting (alignment)

最佳答案

不多,但如果使用 fstrings,你可以这样做

for name, value in zip(name_list, value_list):
print(f'{name:<{padding1}}:{value:>{padding2}}') #fstring version

<>分别用于左对齐和右对齐。

输出将是

Arg1               :          value1
Arg2222222222222222: value2
Arg3 :value33333333333

参见this .

关于Python 多行对齐使用格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58953580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com