案例:
如何对下面字典的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)