python_怎么格式化字符串?

案例:

如何对下面字典的key左对齐

{'dhqbl': 30, 'psfgj': 40, 'ontpqsb': 90, 'mrean': 110, 'klespjtr': 60, 'lprnkqhb': 100, 'lcpdnbit': 80, 'rqbakn': 0, 'fpienjor': 10, 'inram': 20, 'asngjf': 70,}

如何解决?

方法1:str.ljust() 左对齐,str.rjust() 右对齐, str.center()居中

方法2:format(str,’’)  ^ 居中, < 居左,> 居右

#!/usr/bin/python3

from random import randint, sample

def format_str(data):
    # 给索引起名字
    first, key = 0, 0
    # 找出最长的key,以最长的key决定对齐的长度
    max_key = sorted(data.items(), key=lambda x: len(x[key]), reverse=True)[first][first]

    # format方式,< , ^ , >
    format_str = '<' + str(len(max_key))
    for i in data:
        print(format(i, format_str) + ':', data[i])

    print('*'*40)

    # ljust方式,还有rjust, center
    for y in data:
        print(y.ljust(len(max_key)) + ':', data[i])

if __name__ == '__main__':
    # 初始化一个sample取样字符串
    a = 'abcdefghijklmnopqrst'

    # 初始化字典
    data = {''.join(sample(a, randint(5, 8))): value for value in range(0, 120, 10)}

    format_str(data)
上一篇:Mac安装win7


下一篇:T-Sql(三)存储过程(Procedure)