实际案例:
某个字典存储了一系列属性值
{
"lodDist": 100.0,
"SmallCull": 0.04,
"DistCull": 500.0,
"trilinear": 40,
"farclip": 477
}
在程序中,我们想以以下工整的格式将其内容输出,如何处理?需要把键的每一个字符串长度调整成相同的才能出现以下效果。
SmallCull:0.04
farclip :477
lodDist :100.0
DistCull :500.0
trilinear:40
解决方案:
方法1:使用字符串的str.ljust(),str.rjust(),str.center()进行左,右,居中对齐。
方法2:使用format()方法,传递类似于'20','^20'参数完成同样任务。
2、代码演示(1)字符串两种对齐方式介绍
s = 'abc'
# 方法1:字符串对齐方式
'''
str.ljust方法介绍:
ljust(width, fillchar=' ') -> string
width:整个字符串宽度
fillchar:当字符串实际长度小于width时,作为填充项
'''
# 将s调整成,宽度为20右对齐的字符串
print(s.rjust(20))
print(s.rjust(20, '='))
# 设置字符串为左对齐宽度为20
print(s.ljust(20))
# 设置字符串居中对齐宽度为20
print(s.center(20))
# 方法2:format方法字符串格式化
'''
format方法介绍:
format(value, format_spec='') -> string
vaule:格式化的字符串
format_spec:指定规则,如<20,左对齐宽度为20
'''
# 左对齐,宽度为20
print(format(s, '<20'))
# 右对齐,宽度为20
print(format(s, '>20'))
# 居中对齐,宽度为20
print(format(s, '^20'))
(2)实现字典中键值对格式化输出
# 实现字典中键值对格式化输出
d = {
"lodDist": 100.0,
"SmallCull": 0.04,
"DistCull": 500.0,
"trilinear": 40,
"farclip": 477
}
'''
为了调整所有键的字符串宽度一样,首先找到键中字符串宽度最大那一个
'''
# 首先求每个键字符串的长度,然后再找出最大值
w = max(map(len, d.keys()))
print(w)
# 迭代字典的key,然后左对齐,输出冒号和value
for k in d:
print(k.ljust(w), ':', d[k])
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)