1、如何对字符串进行左、右、居中对齐?

        实际案例:

                某个字典存储了一系列属性值

{
    "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])
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐