gpt4 book ai didi

python - 使用 python 打印/写入函数进行水平对齐?

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

我经常需要打印列表、字典等,并具有良好的水平对齐方式(类似于 MS-Word 中的制表符,但不是 \t 字符)。

实现它的函数并不难。例如

def printDictTabed(dct,ntab=10):
for k,v in dct.items():
sk = str(k)
tab = ' '*max(0,ntab-len(sk))
print sk,tab,": ",v

printDictTabed({454:99897754545,"x":5454,"john":"whatever"},ntab=6)

输出:

x       :  5454
john : whatever
454 : 99897754545

但这是否可以使用标准 python 格式来实现?

最佳答案

填充和对齐字符串

默认情况下,值的格式设置为仅占用表示内容所需的字符数。但是,也可以定义应将值填充到特定长度。

不幸的是,新旧样式格式之间的默认对齐方式不同。旧样式默认为右对齐,而新样式默认为左对齐。

https://pyformat.info/

右对齐:

'%10s' % ('test',)

'{:>10}'.format('test')

左对齐:

'%-10s' % ('test',)

'{:10}'.format('test')

你的例子:

def printDictTabed(dct):
for k,v in dct.items():
print('{:10}:{:>15}'.format(str(k), str(v)))

printDictTabed({454:99897754545,"x":5454,"john":"whatever"})

输出:

454       :    99897754545
x : 5454
john : whatever

关于python - 使用 python 打印/写入函数进行水平对齐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57970486/

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