进行数据清理时,我想在行中打印我的arg名称及其值。但是args的名称长度不同,因此其值也不同。为了清楚起见,我想在每行中将arg的名称左对齐,并将arg的值右对齐。
例如,我想要如下结果:
输出:
Arg1 : value1
Arg2222222222222222: value2
Arg3 : value33333333333
假设我有3个args和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
我们可以使用更少的代码来实现相同的目标吗?或者,我们可以更具体地做到这一点吗?
伙计们,谢谢您的帮助!
不多,但是如果使用fstrings,则可以
for name, value in zip(name_list, value_list):
print(f'{name:<{padding1}}:{value:>{padding2}}') #fstring version
的<
和>
分别是左,右对齐。
输出将是
Arg1 : value1
Arg2222222222222222: value2
Arg3 :value33333333333
看到这个。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句