例如,某字典存储了一系列属性值:
{ "lodDist": 100.0, "SmallCull": 0.04, "DostCull": 500.0, "trilinear": 40, "farclip": 477}
要求:在程序中,以key的最大长度对齐,格式工整地将其内容输出:
lodDist : 100.0 SmallCull : 0.04 DostCull : 500.0 trilinear : 40 farclip : 477
解决方案:
使用字符串的 ljust() 、 rjust() 、 center() 方法进行左、右、居中对齐;
使用内置函数 format() ,传递类似 <20 、 >20 、 ^20 参数完成同样功能。
对于字符串的 ljust() 、 rjust() 、 center() 方法:s = ''s.ljust(width, fillchar)
ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
width 表示指定的字符串长度; fillchar 表示填充字符,默认为空格,填充字符必须恰好只有一个字符长。
rjust() 、 center() 方法与 ljust() 方法类似。
对于内置函数 format() :s = 'abc'print(format(s, '*10'))print(format(-123, '0=+10'))abc******* #结果*********5-000000123
format() 函数用于格式化字符串, format() 函数调用的是 __format__() 方法。
^ 、 < 、 > 分别是居中、左对齐、右对齐,前面跟填充字符,后面跟宽度; = 表示正负符号左对齐; + 表示总输出正负符号。
方案1示例:d = { "lodDist": 100.0, "SmallCull": 0.04, "DostCull": 500.0, "trilinear": 40, "farclip": 477}w = max(map(len, d.keys()))for k,v in d.items(): print(k.ljust(w), ':', v) lodDist : 100.0 #结果SmallCull : 0.04DostCull : 500.0trilinear : 40farclip : 477方案2示例:
d = { "lodDist": 100.0, "SmallCull": 0.04, "DostCull": 500.0, "trilinear": 40, "farclip": 477}w = str(max(map(len, d.keys())))for k,v in d.items(): print(format(k, '<' + w), ':', v) lodDist : 100.0 #结果SmallCull : 0.04DostCull : 500.0trilinear : 40farclip : 477
注意, format() 中不能直接写成 format(k, '<w') ,会无法识别变量w。
查看更多关于12. 对字符串进行左、右、居中对齐的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did126755